EXCEL中R1C1样式引用

主要引用http://club.excelhome.net/thread-759847-1-1.html

 1 Sub chengji()
 2 '
 3 ' 宏1 宏
 4 '
 5 Dim Finalrow  As Integer
 6 Finalrow = Cells(Rows.Count, 2)  'Rows.Count=1048576,就是本工作表最后一行的行数标,2表示第2列
 7 Finalrow = Cells(Rows.Count, 2).End(xlUp) '.End(Direction)属性表示想向那儿移动,等同于ctrl+方向键,自己可以试试,xlUp表示上移
 8 
 9  Finalrow = Cells(Rows.Count, 2).End(xlUp).Row   '求第二列数据最后一行非空单元格所在行的行标
10     Range("c2").Formula = "=a2*b2" '给c2单元格赋值公式
11     Range("C2").Copy Destination:=Range("C2:C" & Finalrow) '先写操作,对C2进行copy,目的地是后面跟一个范围
12     
13     Range("B4").End(xlUp).Select '光标移动到B4的最上头
14     Range("B4").End(xlToRight).Select
15     Range("B4", Range("B4").End(xlToRight)).Select 'B4至B4右边所有的非空单元格被选中
16 End Sub
怎样找到非空区域行数及怎样选定范围

4,怎么引用R1C1样式
     R1C1样式采用R来表示行,C来表示列
   4.1  样式的相对引用
          对于列正数表示向右移指定数量的列,负数反之。
         对于行正数表示向下移指定数量的行,负数反之。
        如果省略掉R或C的方括号,表示和引用单元格在同行或同列。
   4.2 样式的绝对因用
        在A1样式中使用绝对引用要在行号或列号字母前使用$。但在R1C1样式中只需省略方括号就行了,是不是很简单!!!!!!!!

 1 Sub huizong()
 2 '
 3 ' 宏3 宏
 4 '
 5 Dim Finalrow  As Integer
 6    Finalrow = Cells(Rows.Count, 2).End(xlUp).Row + 1 '第2列最后一个非空单元格行标再加1
 7    
 8     Cells(Finalrow, 1).Value = "汇总" '给单元格赋值
 9    
10     Cells(Finalrow, 2).Resize(1, 3).FormulaR1C1 = "=SUM(R2C:R[-1]C)" '给单元格赋公式,加[]表示相对引用,省略的表示在本行或本列
11     
12 End Sub
给区域赋R1C1公式


 1 Sub Multiplicationtable()
 2 Range("b1:m1").Value = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) 'Array()函数可以生成一个行向量,也就是一个一维数组。“=”是把这个数组赋值给一个区域
 3 Range("b1:m1").Font.Bold = True '格式为粗体
 4 Range("b1:m1").Copy '选定区域并复制,相当于ctrl+c
 5 Range("a2:a13").PasteSpecial Transpose:=True '相当于特殊粘贴,转置。把剪切板里的东西转置粘贴给等号前面的区域。
 6 Range("b2:m13").FormulaR1C1 = "=rc1*r1c" '正方形区域内每个单元格都填充为R1C1样式公式"=rc1*r1c",r后省略数字表单元格所在行,r两侧省略中括号表示绝对引用
 7 'rc1*r1c表示单元格所在行第1列 * 第1行本单元格所在列
 8 Cells.EntireColumn.AutoFit
 9 'ActiveCell.EntireColumn.Cells(1, 1).Value = 5 'ActiveCell.EntireColumn返回一个 Range 对象,该对象表示包含指定区域的整列(或多列)。只读
10 End Sub
R1C1格式写交叉处乘积

原文地址:https://www.cnblogs.com/zhubinglong/p/7642676.html