VBA值列选取与复制,赋值

简介: ‘从活动单元格向上12行到向上1行的总和 ActiveCell.FormulaR1C1=”SUM(R[-12])C:R[-1]C” ‘引用第C-D列和第F-G列 Range(“B2:D6”)     ‘引用B2-D6的单元格 同Range(“B2”,”D6”) ,Rangge(Cells(...

从活动单元格向上12行到向上1行的总和

ActiveCell.FormulaR1C1=”SUM(R[-12])C:R[-1]C”

引用第C-D列和第F-G

Range(“B2:D6”)    

引用B2-D6的单元格 Range(“B2”,”D6”) ,Rangge(Cells(2,2),Cells(6,4))

引用第23

Cells(2,3) Cells(2,”C”)

 

ActiveCell.Resize(4,4)   自当前单元格开始创建一个44列的区域

Range(“B2”).Resize(5,3)  B2开始扩展的区域为53列的区域

不连续单元格的引用

Range(“A1:B2,C4,D6:F7”) 引用从A1-B2C4D6-F7的区域

 

设置多个不连续区域

Sub Union

       Dim bigRange as Range

       WorkSheets(“Sheet1”).Activate

       Set bigRange=Application.Union(Range(“A1:B2”),Range(“C4”),Range(“D6:F7”))

       bigRange.Select

End Sub

 

新建名称

为单元格区域添加名称客户

Sub AddName2()

       ActiveSheet.Names.Add Name:=”客户”,RefersTo:=”=” & Selections.Address()

End Sub

 

直接为选定的区域命名

Selection.Name=”品名

 

新建名称

Sub AddName1()

       ActiveSheet.Names.Add Name:=”品名”,RefersTo:=”=”=$B$2:$B$80

End Sub

 

删除命名

Sub DeleteRangeNames()

       Dim rName as Name

       For Each rName In ActiveWorkbook.Names

              rName.Delete

       Next rName

End Sub

 

选取单个单元格

Range(“A1”).Select

Cells(1,1).Select

[A1].Select

 

选取A1-A10,C1-C10的不连续区域

Range(“A1:A10,C1:C10”).Select

Union(Range(“A1:A10”),Range(“C1:C10”).Select

 

选取当前区域和使用的区域

CurrentRegion.Selection

UsedRange.Selection

 

选取A1-B10的单元格区域

Range(“A1:B10”).Select

Range(Cells(1,1),Cells(10,2)).Select

 

命名区域的选择

Range(“品名”).Select

 

选取整个工作表

Cells.SelectColumns.SelectRows.Select

 

使用常量给单元格赋值

Sub ResetValuesToZero2()

       Dim n as Range

       For Each n In Worksheets(“Sheet1”).Range(“WorkArea1”)

       If n.Value<>0 Then

              n.Value=0

       End If

       Next n

End Sub

 

给一个区域赋值

Sub setZero()

       Sheet1.Range(“A1:D5”)=0

End Sub

 

把变量赋值给单元格

Sub test()

       For i=1 to 10

              Range(“A” & i)=i

       Next i

End Sub

 

使用Chr函数转换数值变量为字符

Sub Test2()

       Dim a as String

       Dim I as Integer

       For i=65 to 70

              A=Chr(i)

              Range(a & 1)=i

       Next i

End Sub

 

把单元格的值赋值给数组

Sub RangeToArray()

       Dim myArray(3) as integer

       Dim I as integer

       For i=1 to 3

              myArray(i)=Cells(1,i)

       Next i

End Sub

 

把单元格中一行单元格的值赋给数组

Sub RangeToArray0()

       Dim I as integer

       Dim varArray as Variant

       varArray=Sheet1.Range(“A1:C1”).Value

       For i=1 to 3

              MsgBox varArray(1,i)

       Next i

End Sub

 

把一个单元格矩形区域的值赋给数组

Sub RangeToArray1()

       Dim varArray as Variant

       Dim r%

       Dim c%

       varArray=Sheet1.Range(“A1:C3”).Value

       按行循环数组

       For r=1 to UBound(varArray,1)

              For c=1 to UBound(varArray,2)

                     Debug.Print varArray(r,c)

              Next c

       Next r

End Sub

 

把数组的值赋给单元格

Sub ArrayToRange2()

       Dim aData(2,2) as Variant

       Dim RowCnt As integer,ColCnt as integer

       aData(0,0)=1

       aData(0,1)=2

       aData(0,2)=3

       aData(1,0)=4

       aData(1,1)=5

       aData(1,2)=6

       aData(2,0=7

       aData(2,1)8

aData(2,2)9

End Sub

 

把公式传给数组

Sub RangeToArray4()   

       Dim arr As Variant

       Arr=[a6:c10].Formula

       [e6:g10=arr

End Sub

 

单元格间的赋值

Sub cells()

       Dim I as Integer

       For i=1 to 5

              Cells(i+5,7)=Cells(I,1)

       Next i

End Sub

 

把一行单元格赋值给一列单元格

Sub Range2()

       Dim I as Integer

       Dim j as integer

       For i=1 to 5

              J=j+1

              Cells(I,10)=cells(2,j)

       Next i

End Sub

 

使用数组转置实现行、列单元格之间的数据传递

Sub range3()

       Dim varArray as Varaint

       varArray=Application.Transpose([A1:E1])

       [G1:G5=varArray

End Sub

 

按地址拆分工作表()

Sub 按地址拆分工作表()

    On Error Resume Next

    Dim n As Integer, K As Integer

    Dim j As Long

    n = 2

    '获取A列从下数不为空的单元格行号

    j = 10

    For K = 2 To j

        Do Until Left(Sheet2.Cells(K, 2), 3) <> Left(Sheet2.Cells(K + 1, 2), 3)

        'k中保存省份名称相同的地址数目

            K = K + 1

        Loop

        '判断第2K行的地区省份与第2K+1行的地区省份是否相同

        If Left(Sheet2.Cells(K, 2), 3) <> Left(Sheet2.Cells(K + 1, 2), 3) Then

            '如果不同复制Sheet2中的指定单元格

            Sheet2.Activate

            Range(Cells(n, 1), Cells(K, 2)).Copy

            '添加工作表

            Sheets.Add

            '为工作表命名,其名称取自Sheet2工作表中第二列的前三个汉字

            ActiveSheet.Name = Left(Sheet2.Cells(K, 2), 3)

            '把复制的内容粘贴到新建的工作表中

            Range("A2").Select

            ActiveSheet.Paste

        End If

        n = K + 1

    Next K

End Sub

 

编码

   地址

1

北京市东城区

2

北京市西城区

3

北京市朝阳区

4

黑龙江哈尔滨市

5

吉林省安图县

6

吉林省珲春市

7

吉林省龙井市

8

天津市和平区

9

西藏错亲市

10

新疆吐鲁番

 

EXCEL的内容分别根据地址生成新工作表,并填入内容

 

单元格之间的复制

把当前区域的数据复制到另一区域

Sub CopyCurrentRegion()

       Sheets(“sheet1).Range(“A1”).CurrentRegion Copy Sheets(“sheet2”).Range(“A1”)

End Su

 

Sheet1的单元格区域C1:C5中的数据复制到单元格区域D1:D5

Sub CopyPaste()

       WorkSheets(“Sheet1”.Range(“C1:C5”).Copy

       ActiveSheet.Paste Destination:=Worksheets(“Sheet1”).Range(“D1:D5)

End Sub

相关文章
|
1月前
|
C语言
深入理解字符串引用与操作
深入理解字符串引用与操作
14 0
|
6月前
|
编译器 Python
python之局部变量和全局变量的定义,两者之间的区别和使用方法,global和nonlocal的定义和使用方法,可变与不可变类型的定义和示例
python之局部变量和全局变量的定义,两者之间的区别和使用方法,global和nonlocal的定义和使用方法,可变与不可变类型的定义和示例
|
1月前
|
存储 编译器 C++
36对象的赋值和复制
36对象的赋值和复制
10 0
|
6月前
|
Python
python之数据的赋值方式,变量内存地址的获取方式,获取变量名的方法,不同方法之间的区别
python之数据的赋值方式,变量内存地址的获取方式,获取变量名的方法,不同方法之间的区别
|
3月前
|
存储 Java Python
Python 变量?对象?引用?赋值?一个例子解释清楚
Python 变量?对象?引用?赋值?一个例子解释清楚
|
5月前
|
Python
Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
54 0
常量数组可以更改
常量数组可以更改
46 0
常量对象可以更改
常量对象可以更改
64 0
|
Shell 索引
shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
shell变量 shell变量是指用一个特定的字符串去表示不固定的内容 1.变量的类型 1.1自定义变量 一般情况下不怎么使用环境变量,如果需要在其他文件中引入某个文件的变量则在脚本最开始的位置使用source 或者. 执行下该脚本即可
1922 0
shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
116 0
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))