精华内容
下载资源
问答
  • VBA range

    2020-03-12 11:19:26
    range(“A1”)=100 range(“A1”).value=100 range(“A1:A10”)=100 range(“A1:A10”).value=100 range(“date”).value=100 选中单元格已经被命名为date了 range(“A1:A10,B3:C6,G6:I8”)....

    range(“A1”)=100
    range(“A1”).value=100
    range(“A1:A10”)=100
    range(“A1:A10”).value=100
    range(“date”).value=100 选中单元格已经被命名为date了
    range(“A1:A10,B3:C6,G6:I8”).SELECT 选中这三个区域
    range(“A1:A10 B3:C6 G6:I8”).SELECT 选中这个三个区域的公共区域
    range(“A1:A10",“B3:C6”," G6:I8”).SELECT 选中一个大矩形,就是这三个小矩形围成的最小矩形

    active.cells(3,4)
    active.cells(3,“D”)

    range(“B3:C9”).cells(2,3) 这个意思是,range区域里面的第二行第三列

    range(cell(1,1),cells(10,5)).select
    range(“A1”,“E10”).select
    range(range(“A1”),range(“E10”)).select
    这仨个等价的、

    active.cells.select 选中所有的表格
    range(“A1”,“E10”).cells.select

    activesheet.rows(“3:3”).select 选中第三行
    activesheet.rows(“3:5”).select 选中三至五行
    rows(“3:10”).rows(“1:1”).select 选中第三行到第十行区域中的第三行

    引用列的方式与行的方式一致,就是把数子换成了字母

    application.union(range(“A1:A10”),range(“E10”)).select
    把这两块的range的内容都选中

    range(“E10”).offset(2,3).value=500
    offset 错位。2就是往下2个,3就是往右3个

    range(“B2”).resize(5,4).select
    就是以B2为开头,往下5行,往右4行(包括其本身)

    range(“B2:E6”).resize(2,1).select
    就是将这个B2:E6这个区域里面的东西,以B2为开头,进行相应的放缩就是等同于range(“B2:E6”).cells(1,1).resize(2,1).select

    activesheet.usedrange.select
    已经使用的单元格选择,不管中间是不是有空格
    range(“B5”).currentregion.select
    已经使用的单元格选择,以空格的地方设置为边界

    range(“C5”).end(xlup).select
    等同于ctrl+方向键上
    range.(“A1561561”).end(xlup).offect(1,0).value=111
    代表的意思就是一直往下写的意思

    range(“B4:F10”).count 计数有多少个单元格
    activesheet.usedrange.row.count
    activesheet.usedrange.columns.count

    selection.address 知道某个或者某些单元格的位置

    range(“C5”).select = range(“C5”).activate

    清除单元格所有的内容,各种格式,批注等都不要
    range(“C5”).clear
    清除单元格的批注 range(“C5”).clearcomments
    清除单元格内同 range(“C5”).clearcontents
    清除单元格格式 range(“C5”).clearformates

    range(“A1”).select
    selection.copy
    range(“C1”).select
    activesheet.paste
    复制的全过程
    但是可以一句话替代 range(“A1”).copy range(“C1”)
    其实是省略了range(“A1”).copy destination:=range(“C1”)
    不确定大小的时候,可以用
    range(“A1”).currentregion.copy range(“C1”)

    cut和copy可以互相替代的

    展开全文
  • VBA Range.Address

    千次阅读 2019-02-14 21:28:46
    VBA Range Addres API  通过 String 来表示 Range 的地址 。Eg $A$1 R[-2]C[-2] Link:https://docs.microsoft.com/zh-cn/office/vba/api/excel.range.address Range.Address 属性 (Excel) 示例 下面的示例在...

    VBA Range Addres API  

    通过 String 来表示 Range 的地址 。Eg $A$1 R[-2]C[-2]

    Link:https://docs.microsoft.com/zh-cn/office/vba/api/excel.range.address

    Range.Address 属性 (Excel)

    示例

    下面的示例在 Sheet1 上显示同一个单元格地址的四种不同表示形式。 此示例中的注释(灰色)是将在消息框中显示的地址

    Set mc = Worksheets("Sheet1").Cells(1, 1) 
    MsgBox mc.Address() ' $A$1 
    MsgBox mc.Address(RowAbsolute:=False) ' $A1 
    MsgBox mc.Address(ReferenceStyle:=xlR1C1) ' R1C1 
    MsgBox mc.Address(ReferenceStyle:=xlR1C1, _ 
     RowAbsolute:=False, _ 
     ColumnAbsolute:=False, _ 
     RelativeTo:=Worksheets(1).Cells(3, 3)) ' R[-2]C[-2]

     

    展开全文
  • vba range的使用记录

    2020-05-05 13:51:10
    vba range的使用记录 以下两种单元格选定方式有点特别 ActiveCell.Range(“A1:A3”).Select,这种是可以选择此单元格及以下两个 ActiveCell.Offset(1, 0).Cells(“1,1”).Select,这种是错误的输入,但会返回包含此...

    vba range的使用记录

    以下两种单元格选定方式有点特别 ActiveCell.Range(“A1:A3”).Select,这种是可以选择此单元格及以下两个

    ActiveCell.Offset(1, 0).Cells(“1,1”).Select,这种是错误的输入,但会返回包含此单元格ActiveCell.Offset(1, 0)至向下第11个单元格
    感觉这是实现了 ActiveCell.Offset(1, 0).Cells(11).select的效果
    标准用法感觉应该是这样ActiveCell.Offset(1, 0).Cells(11, 1).Select

    另外注意 [a1:b2] 与[b1:a2]是一个效果, 以最上最下行, 最左最右列来框定的区域来确定的区域

    然后[b1:a2].Cells(10, 1).Select/或[a1].cells(10,1).select, 这种超区域的方式也可以使用, 以左上角(或本格)为准, 为原点, 但这个原点坐标是1,1, .cells(10,1)是表示从此格开始向下10行, 向右1列的单元格.

    展开全文
  • Excel VBA Range对象等基本操作应用示例,有助于初学者深入了解和使用range对象,加深对象的了解。
  • EXCEL VBA Range对象等基本操作应用实例
  • 1 与range对象位置有关的属性 (1)range.row : 该Range左上角单元格的行号 (2)range.column:该range左上角单元格的列号 (3)range.address : 该range各个对角顶点的绝对引用地址$ 注意:当range包含多个矩形...

    1 与range对象位置有关的属性

    (1)range.row : 该Range左上角单元格的行号

    (2)range.column:该range左上角单元格的列号

    (3)range.address : 该range各个对角顶点的绝对引用地址$

    注意:当range包含多个矩形区域的时候,row和column只返回其中某一个矩形的左上角位置,并不一定是整个range的左上角!


    比如:range(“D3:E4,A1:B2“)的Row和column,返回的可能是第三行第四列,而并不是第一行第一列
     

    2 与range对象范围有关的属性

    (1)range.count :该range中的单元格数量。

    特别注意:
     
     01 range对象由多个矩形构成的时候,各矩形互相重叠的单元格会被重复计算。
     
     02 count计算的其实是对象而非单元格的个数,而且当数量太大时候回复发生
     
     # 溢出错误   所以计算单元格数量的最安全方法是:
     
     range.cells.countLarg

    (2) range.rows:容纳了该Range中的每一行。可以使用Range.rows(n)得到一个新的range对象,代表位于该区域第n行的所有单元格。

    ## 注意:
    如果range是由多个举行区域构成,rows只代表其中某一个矩形区域的所有行。

    # rows.count(注意:不是rows(n).count),代表range的rows集合中一共有多少个元素,即该range一共有多少行。

    (3)range.columns:容纳了该range中的每一列。
    # 可以使用:
    range.columns(n)得到一个新的range对象。
    代表位于该区域第n列的所有单元格。


    # 使用range.columns.count得到总列数。

    特别注意:如果range是由多个举行区域构成,columns只代表其中某一个矩形区域的所有列。

    (4) 使用过的范围

    所有表格的行总数activesheet.cells.rows.count

    使用过的: activesheet.usedrange.raws.count

    (5) 获取range的最后一行的行数

    sub findlastrow()

        dim r as range,i&
     
     'r为对象 
     
        set r=activesheet.usedrange
        
        i=r.row+r.rowS.count-1
        
        msgbox "最后一行是" “ & i”
        
     end sub

    (6) 获取某一列数据的行数

    Range("B4", Range("B4").End(xldown)).Select
     

     

     

    Direction XlDirection 类型,必需。所要移动的方向。

    XlDirection 可为 XlDirection 常量之一。

    xlDown

    xlToRight

    xlToLeft

    xlUp

    二、End(xlUp).Row示例

    本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。

    Range("B4").End(xlUp).Select

    本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。

    Range("B4").End(xlToRight).Select

    展开全文
  • Excel VBA Range单元格操作实例

    千次阅读 2020-02-16 21:51:53
    四、Range操作 4.2取得最后一个非空单元格 xlDown/xlToRight/xlToLeft/xlUp Dim ERow as Long Erow=Range("A" & Rows.Count).End(xlUp).Row 4.3 复制单元格区域 注意:使用PasteSpecial方法时指定xlPasteAll...
  • vba range select 方法无效

    千次阅读 2012-06-26 23:41:18
    vba 中在range使用select方法的时,需要先激活range所在的sheet,如果sheet没有被激活,使用range.select方法会痴线1004, 方法无效的错误。 激活sheet,可以使用Activate方法。
  • Excel VBA Range对象基本操作应用示例 作者:jiesoft 日期:2008-01-24比较全面,有的东西我还没有用过,收集了,大家一起学习下.[示例01] 赋值给某单元格[示例01-01] Sub test1()Worksheets("Sheet1").Range("A5").Value...
  • VBA Range与数组互相赋值

    万次阅读 2012-11-19 22:39:51
    'Range赋值给数组(利用Application.WorksheetFunction.Transpose) ' Dim myData ' myData = Application.WorksheetFunction.Transpose(Range("a1:e5")) ' MsgBox "共有" & UBound(myData) & "个数据!
  • [示例01] 赋值给某单元格[示例01-01] Sub test1()Worksheets("Sheet1").Range("A5").Value = 22MsgBox "工作表Sheet1内单元格A5中的值为" _& Worksheets("Sheet1").Range("A5").ValueEnd Sub[示例01-02]Sub test...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,996
精华内容 798
关键字:

vbarange