精华内容
下载资源
问答
  • Excel VBA:设置单元格边框

    千次阅读 2020-01-01 22:25:38
    下例设置单元格区域 A1:G1 的底部边框的颜色。 Worksheets("Sheet1").Range("A1:G1"). _ Borders(xlEdgeBottom).Color = RGB(255, 0, 0) Index 可为以下 XlBordersIndex 常量之一: xlDiagonalDown 、 ...

    Border 对象

    代表对象的边框。

    说明

    大多数具有边框的对象(除 RangeStyle 对象外)都将边框作为单一实体处理,而不管边框有几个边。整个边框必须作为一个整体单位返回。例如,使用 TrendLine 对象的 Border 属性可返回此类对象的 Border 对象。

    示例
    下例更改活动图表中趋势线的类型和线型。

    With ActiveChart.SeriesCollection(1).Trendlines(1)
        .Type = xlLinear
        .Border.LineStyle = xlDash
    End With

    RangeStyle 对象具有四个分立的边框:左边框、右边框、顶部边框和底部边框,这四个边框既可单独返回,也可作为一个组同时返回。使用 Borders 属性可返回 Borders 集合,该集合包含所有四个边框,并将这些边框视为一个单位。下例向第一张工作表上的单元格 A1 添加双边框。

    Worksheets(1).Range("A1").Borders.LineStyle = xlDouble

    使用 Borders(index)(其中index 指定边框)可返回单个 Border 对象。下例设置单元格区域 A1:G1 的底部边框的颜色。

    Worksheets("Sheet1").Range("A1:G1"). _
        Borders(xlEdgeBottom).Color = RGB(255, 0, 0)

    Index 可为以下 XlBordersIndex 常量之一:xlDiagonalDownxlDiagonalUpxlEdgeBottomxlEdgeLeftxlEdgeRightxlEdgeTopxlInsideHorizontalxlInsideVertical

    XlBordersIndex 枚举

    指定要检索的边框。

    名称说明
    xlDiagonalDown5从区域中每个单元格的左上角至右下角的边框。
    xlDiagonalUp6从区域中每个单元格的左下角至右上角的边框。
    xlEdgeBottom9区域底部的边框。
    xlEdgeLeft7区域左边的边框。
    xlEdgeRight10区域右边的边框。
    xlEdgeTop8区域顶部的边框。
    xlInsideHorizontal12区域中所有单元格的水平边框(区域以外的边框除外)。
    xlInsideVertical11区域中所有单元格的垂直边框(区域以外的边框除外)。

    Borders.LineStyle 属性

    返回或设置边框的线型。XlLineStylexlGray25xlGray50xlGray75xlAutomatic 类型,可读写。

    语法

    表达式.LineStyle

    表达式   一个代表 Borders 对象的变量。

    示例

    本示例为 Chart1 的图表区和绘图区域设置边框。

    With Charts("Chart1")
        .ChartArea.Border.LineStyle = xlDashDot
        With .PlotArea.Border
            .LineStyle = xlDashDotDot
            .Weight = xlThick
        End With
    End With
     

    XlLineStyle 枚举

    指定边框的线条样式。

    名称说明
    xlContinuous1实线。
    xlDash-4115虚线。
    xlDashDot4点划相间线。
    xlDashDotDot5划线后跟两个点。
    xlDot-4118点式线。
    xlDouble-4119双线。
    xlLineStyleNone-4142无线条。
    xlSlantDashDot13倾斜的划线。

    Borders 对象成员 

    由四个 Border 对象组成的集合,它们分别代表 RangeStyle 对象的四个边框。

    属性

     名称说明
     Application如果不使用对象识别符,则该属性返回一个代表 Microsoft Excel 应用程序的 Application 对象。如果使用对象识别符,则该属性返回一个代表指定对象的创建程序的 Application 对象(可对一个 OLE 自动化对象使用该属性来返回该对象的应用程序)。只读。
     Color返回或设置对象的主要颜色,如注释部分中的表格所示。使用 RGB 函数可创建颜色值。Variant 型,可读写。
     ColorIndex返回或设置一个 Variant 值,它代表全部四条边框的颜色。
     Count返回一个 Long 值,它代表集合中对象的数量。
     Creator返回一个 32 位整数,该整数指示创建对象的应用程序。只读 Long 类型。
     Item返回一个 Border 对象,该对象代表单元格区域或某个样式的边框之一。
     LineStyle返回或设置边框的线型。XlLineStylexlGray25xlGray50xlGray75xlAutomatic 类型,可读写。
     Parent返回指定对象的父对象。只读。
     ThemeColor返回或设置已应用的配色方案中的主题颜色,该配色方案与指定对象相关联。可读/写 Variant 类型。
     TintAndShade返回或设置一个 Single,使颜色变深或变浅。
     ValueBorders.LineStyle 的同义词。
     Weight返回或设置一个 XlBorderWeight 值,它代表边框的粗细。

    Borders.Color 属性

    返回或设置对象的主要颜色,如注释部分中的表格所示。使用 RGB 函数可创建颜色值。Variant 型,可读写。

    语法

    表达式.Color

    表达式   一个返回 Borders 对象的表达式。

    说明

    对象对应颜色
    边框边框的颜色。
    Borders一个区域的所有四条边的颜色。如果四边不是同一种颜色,则 Color 返回的是 0(零)。
    Font字体的颜色。
    Interior单元格底纹的颜色或图形对象的填充颜色。
    Tab选项卡的颜色。

    示例

    此示例对 Chart1 中数值坐标轴的刻度线标志颜色进行设置。

    Charts("Chart1").Axes(xlValue).TickLabels.Font.Color = _
        RGB(0, 255, 0)
    Borders.ColorIndex 属性

    返回或设置一个 Variant 值,它代表全部四条边框的颜色。

    语法

    表达式.ColorIndex

    表达式   一个代表 Borders 对象的变量。

    说明

    如果全部四条边框不是同一种颜色,此属性返回 Null

    颜色可指定为当前调色板中颜色的索引值,也可指定为下列 XlColorIndex 常量之一:

    • xlColorIndexAutomatic
    • xlColorIndexNone
    XlColorIndex 枚举

    指定所选功能(如边框、字体或填充)的颜色。

    名称说明
    xlColorIndexAutomatic-4105自动配色。
    xlColorIndexNone-4142无色。
    Borders.Count 属性

    返回一个 Long 值,它代表集合中对象的数量。

    语法

    表达式.Count

    表达式   一个代表 Borders 对象的变量

    Borders.Item 属性

    返回一个 Border 对象,它代表单元格区域或样式的边框之一。

    语法

    表达式.Item(Index)

    表达式   一个代表 Borders 对象的变量。

    参数

    名称必选/可选数据类型说明
    Index必选XlBordersIndexXlBordersIndex 的常量之一。

    说明

    XlBordersIndex 可为下列 XlBordersIndex 常量之一。
    xlDiagonalDown
    xlDiagonalUp
    xlEdgeBottom
    xlEdgeLeft
    xlEdgeRight
    xlEdgeTop
    xlInsideHorizontal
    xlInsideVertical

    示例

    下例设置单元格区域 A1:G1 的底部边界的颜色。

    Worksheets("Sheet1").Range("a1:g1"). _
        Borders.Item(xlEdgeBottom).Color = RGB(255, 0, 0)
    Borders.Weight 属性

    返回或设置一个 XlBorderWeight 值,它代表边框的粗细。

    语法

    表达式.Weight

    表达式   一个代表 Borders 对象的变量。

    XlBorderWeight 枚举

    指定某一区域周围的边框的粗细。

    名称说明
    xlHairline1细线(最细的边框)。
    xlMedium-4138中等。
    xlThick4粗(最宽的边框)。
    xlThin2细。

     

    source: VBA Help

     

    展开全文
  • 一、复制粘贴固定区域单元格 因为以下内容都是复制单个或者固定区域单元格内容,就不多说了,备注上面都有说明。 Option Explicit Sub CopyRange() '复制单元格内容示例1 '注意:单元格的格式、公式、批注...

    本期主要讲讲单元格复制粘贴等操作。

    一、复制粘贴固定区域的单元格

    因为以下内容都是复制单个或者固定区域的单元格内容,就不多说了,备注上面都有说明。

    Option Explicit
    
    Sub CopyRange()
        '复制单元格内容示例1
        '注意:单元格的格式、公式、批注等也会被复制过去哟
        Sheets(1).Range("A1").Copy Sheets(1).Range("B1")
    End Sub
    
    Sub CopyRange2()
        '复制单元格内容示例2,打开了下面2个工作表后,就可以通过工作表的名称进行复制啦
        Workbooks("测试表1.xlsx").Sheets(1).Range("A1").Copy _
        Workbooks("测试表2.xlsx").Sheets(1).Range("A1")
    End Sub
    Sub CopyRange3()
        '复制单元格内容示例3,和上面几乎一样
        Dim rng1 As Range, rng2 As Range
        Set rng1 = Workbooks("测试表1.xlsx").Sheets(1).Range("A1")
        Set rng2 = Workbooks("测试表2.xlsx").Sheets(1).Range("A1")
        rng1.Copy rng2
    End Sub
    Sub CopyRange4()
        '复制单元格内容示例4,复制区域,选择一个单元格进行粘贴
        Sheets(1).Range("A1:D5").Copy Sheets(2).Range("A1")
    End Sub
    Sub MoveRange1()
        '移动(剪切)单元格内容示例1。
        '注意:单元格的格式、公式、批注等也会被剪切过去哟
        '就是把Copy换成了Cut,其他几乎一样
        Sheets(1).Range("A1").Cut Sheets(1).Range("B1")
    End Sub

    二、复制粘贴可变单元格区域

    上面主要是讲的特定区域的,下面讲讲会变动的区域。比如一张表新增了一行,复制区域就改变了,有没有什么比较方便的方式解决呢?

    加个CurrentRegion就可以实现,用法如下。

    Sub CopyCurrentRange()
        '复制范围会变动的表格
        Sheets(1).Range("A1").CurrentRegion.Copy Sheets(2).Range("A1")
    End Sub

     

    从上面的图可以看出,新增了第15行张三点击运行后,仍然能正常复制过去。要复制的表如果有标题、有日期行,或者是筛选后的表格,仍然可以实现复制。

    如果要复制的区域是一个表,就可以用以下方式(感觉更复杂了点,好像没啥实际用途)

    第一,插入表格

    第二,重新命名,咱们插入表格之后,在设计——表名称那重命名一下,命名为Table111

    第三:这么操作就可以把表复制过去啦。

    Sub CopyTable()
        Sheets(1).Range("table111").Copy Sheets(2).Range("A1")
    End Sub

    经过实际使用,发现确实不怎么方便,当然了还有Range的End方法,这个在7月29号的文档里用过。

    Sub RangeEnd()
        '从A10000往上数,遇到有数据的最下面一行
        Debug.Print Sheets(1).Range("A10000").End(xlUp).Row
        '从A1往下数,有数据的最下面一行
        Debug.Print Sheets(1).Range("A1").End(xlDown).Row
        '从Z1往左数,有数据的最右边一列
        Debug.Print Sheets(1).Range("Z1").End(xlToLeft).Column
        '从A1往右边数,有数据的最右边一列
        Debug.Print Sheets(1).Range("A1").End(xlToRight).Column
    End Sub

    咱们表格范围是A1:D17大小的话,上面结果值分别为17,17,5,5。但是需要注意就是,选定单元格的那一行一列别有空值,不然返回的内容可能是空值附近的单元格哟。

    三、调整单元格区域

    用Range.Resize重新调整单元格区域,左边的参数是行数,右边的参数是列数。

    另外需要注意的是,调整后的区域是从原来区域左上角开始框哟。

    比如下面例子开始是框柱B2:D6,重新设置区域后,就从B2往下和往右算行列数。

    Sub RangeResize()
        Dim rng As Range
        Set rng = Range("B2:D6")
        Set rng = rng.Resize(8, 5)
    End Sub

    展开全文
  • Excel VBA单元格选取

    万次阅读 2017-05-14 00:34:24
    Option Explicit '1 表示一个单元格(a1) Sub s() Range("a1").Select Cells(1, 1).Select Range("A" & 1).Select Cells(1, "A").Select Cells(1).Select ...'2 表示相邻单元格区域 Sub d() '
    Option Explicit
    
    
    '1 表示一个单元格(a1)
     Sub s()
       Range("a1").Select
       Cells(1, 1).Select
       Range("A" & 1).Select
       Cells(1, "A").Select
       Cells(1).Select
       [a1].Select
     End Sub
    
    
    '2 表示相邻单元格区域
    
    
       Sub d() '选取单元格a1:c5
    '     Range("a1:c5").Select
    '     Range("A1", "C5").Select
    '     Range(Cells(1, 1), Cells(5, 3)).Select
         'Range("a1:a10").Offset(0, 1).Select
          Range("a1").Resize(5, 3).Select
       End Sub
    
    '3 表示不相邻的单元格区域
    
        Sub d1()
    
          Range("a1,c1:f4,a7").Select
    
          'Union(Range("a1"), Range("c1:f4"), Range("a7")).Select
    
        End Sub
    
        Sub dd() 'union示例
          Dim rg As Range, x As Integer
          For x = 2 To 10 Step 2
            If x = 2 Then Set rg = Cells(x, 1)
    
            Set rg = Union(rg, Cells(x, 1))
          Next x
          rg.Select
        End Sub
    
    '4 表示行
    
        Sub h()  'EntireRow属性
    
          'Rows(1).Select
          'Rows("3:7").Select
          'Range("1:2,4:5").Select
           Range("c4:f5").EntireRow.Select
    
        End Sub
    
    '5 表示列
    
       Sub L()    'EntireColumn 属性
    
          ' Columns(1).Select
          ' Columns("A:B").Select
          ' Range("A:B,D:E").Select
          Range("c4:f5").EntireColumn.Select '选取c4:f5所在的行
    
       End Sub
    
    
    '6 表示正在选取的单元格区域
    
       Sub d2()
         Selection.Value = 100
       End Sub
    

    例子:选取当前工作表中含有>12的数字所在的行:
    方法一:定位
    “定位”可以在所选区域中定位大于12的数字所在的单元格,若需要删除这些单元格所在的行,定位后右键——删除整行即可(具体步骤此文不做详述)

    方法二:如下代码:

    Public Sub 选取整行()
    
    
       Dim myrange As Range
       Dim currentRange As Range
    
       Set myrange = Range("a1")
       Dim myrow As Integer, mycol As Integer
    
         myrow = ActiveSheet.UsedRange.Rows.Count
         mycol = ActiveSheet.UsedRange.Columns.Count
    
    
         For i = 1 To myrow
             For j = 1 To mycol
                 If IsNumeric(Cells(i, j)) And Cells(i, j).Value > 12 Then
    
                     Set currentRange = Cells(i, j).EntireRow
    
                     Set myrange = Union(myrange, currentRange)
    
                 End If
             Next j
         Next i
    
         myrange.Select
    
    
    End Sub
    

    选取前

    选取整行

    展开全文
  • 问题一:在VBA代码中,如何引用当前工作表中的单个单元格(例如引用单元格C3)? 回答:可以使用下面列举的任一方式对当前工作表中的单元格(C3)进行引用。 (1) Range("C3") (2) [C3] (3) Cells(3, 3) ...

    问题一:在VBA代码中,如何引用当前工作表中的单个单元格(例如引用单元格C3)?

    回答:可以使用下面列举的任一方式对当前工作表中的单元格(C3)进行引用。

    (1) Range("C3")

    (2) [C3]

    (3) Cells(3, 3)

    (4) Cells(3, "C")

    (5) Range("C4").Offset(-1)

    Range("D3").Offset(, -1)

    Range("A1").Offset(2, 2)

    (6) 若C3为当前单元格,则可使用:ActiveCell

    (7) 若将C3单元格命名为“Range1”,则可使用:Range("Range1")或[Range1]

    (8) Cells(4, 3).Offset(-1)

    (9) Range("A1").Range("C3")

    问题二:在VBA代码中,我要引用当前工作表中的B2:D6单元格区域,有哪些方式?

    回答:可以使用下面列举的任一方式对当前工作表中单元格区域B2:D6进行引用。

    (1) Range(“B2:D6”)

    (2) Range("B2", "D6")

    (3) [B2:D6]

    (4) Range(Range("B2"), Range("D6"))

    (5) Range(Cells(2, 2), Cells(6, 4))

    (6) 若将B2:D6区域命名为“MyRange”,则又可以使用下面的语句引用该区域:

    ① Range("MyRange")

    ② [MyRange]

    (7) Range("B2").Resize(5, 3)

    (8) Range("A1:C5").Offset(1, 1)

    (9) 若单元格B2为当前单元格,则可使用语句:Range(ActiveCell, ActiveCell.Offset(4, 2))

    (10) 若单元格D6为当前单元格,则可使用语句:Range("B2", ActiveCell)

    问题三:在VBA代码中,如何使用变量实现对当前工作表中不确定单元格区域的引用?

    回答:有时,我们需要在代码中依次获取工作表中特定区域内的单元格,这通常可以采取下面的几种方式:

    (1) Range(“A” & i)

    (2) Range(“A” & i & “:C” & i)

    (3) Cells(i,1)

    (4) Cells(i,j)

    其中,i、j为变量,在循环语句中指定i和j的范围后,依次获取相应单元格。

    问题四:在VBA代码中,如何扩展引用当前工作表中的单元格区域?

    回答:可以使用Resize属性,例如:

    (1) ActiveCell.Resize(4, 4),表示自当前单元格开始创建一个4行4列的区域。

    (2) Range("B2").Resize(2, 2),表示创建B2:C3单元格区域。

    (3) Range("B2").Resize(2),表示创建B2:B3单元格区域。

    (4) Range("B2").Resize(, 2),表示创建B2:C2单元格区域。

    如果是在一个单元格区域(如B3:E6),或一个命名区域中(如将单元格区域B3:E6命名为“MyRange”)使用Resize属性,则只是相对于单元格区域左上角单元格扩展区域,例如:

    代码Range("C3:E6").Resize(, 2),表示单元格区域C3:D6,并且扩展的单元格区域可不在原单元格区域内。

    因此,可以知道Resize属性是相对于当前活动单元格或某单元格区域中左上角单元格按指定的行数或列数扩展单元格区域。

    问题五:在VBA代码中,如何在当前工作表中基于当前单元格区域或指定单元格区域处理其它单元格区域?

    回答:可以使用Offset属性,例如:

    (1) Range("A1").Offset(2, 2),表示单元格C3。

    (2) ActiveCell.Offset(, 1),表示当前单元格下一列的单元格。

    (3) ActiveCell.Offset(1),表示当前单元格下一行的单元格。

    (4) Range("C3:D5").Offset(, 1),表示单元格区域D3:E5,即将整个区域偏移一列。

    从上面的代码示例可知,Offset属性从所指定的单元格开始按指定的行数和列数偏移,从而到达目的单元格,但偏移的行数和列数不包括指定单元格本身。

    问题六:在VBA代码中,如何在当前工作表中引用交叉区域?

    回答:可以使用Intersect方法,例如:

    Intersect(Range("C3:E6"), Range("D5:F8")),表示单元格区域D5:E6,即单元格区域C3:E6与D5:F8相重迭的区域。

    问题七:在VBA代码中,如何在当前工作表中引用多个区域?

    回答:

    (1) 可以使用Union方法,例如:

    Union(Range("C3:D4"), Range("E5:F6")),表示单元格区域C3:D4和E5:F6所组成的区域。

    Union方法可以将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作。

    (2) 也可以使用下面的代码:

    Range("C3:D4, E5:F6")或[C3:D4, E5:F6]

    注意:Range("C3:D4","F5:G6"),表示单元格区域C3:G6,即将两个区域以第一个区域左上角单元格为起点,以第二个区域右下角单元格为终点连接成一个新区域。

    同时,在引用区域后使用Rows属性和Columns属性时,注意下面代码的区别:

    ①Range("C3:D4", "F8:G10").Rows.Count,返回的值为8;

    ②Range("C3:D4,F8:G10").Rows.Count,返回的值为2,即只计算第一个单元格区域。

    问题八:在VBA代码中,如何引用当前工作表中活动单元格或指定单元格所在的区域(当前区域)?

    回答:可以使用CurrentRegion属性,例如:

    (1) ActiveCell.CurrentRegion,表示活动单元格所在的当前区域。

    (2) Range("D5").CurrentRegion,表示单元格D5所在的当前区域。

    当前区域是指周围由空行或空列所围成的区域。该属性的详细使用参见《CurrentRegion属性示例》一文。

    问题九:在VBA代码中,如何引用当前工作表中已使用的区域?

    回答:可以使用UsedRange属性,例如:

    (1) Activesheet.UsedRange,表示当前工作表中已使用的区域。

    (2) Worksheets("sheet1").UsedRange,表示工作表sheet1中已使用的区域。

    与CurrentRegion属性不同的是,该属性代表工作表中已使用的单元格区域,包括显示为空行,但已进行过格式的单元格区域。该属性的详细使用参见《解析UsedRange属性》一文。

    问题十:如何在单元格区域内指定特定的单元格?

    回答:可以使用Item属性,例如:

    (1)Range("A1:B10").Item(5,3)指定单元格C5,这个单元格处于以区域中左上角单元格A1(即区域中第1行第1列的单元格)为起点的第5行第3列。因为Item属性为默认属性,因此也可以简写为:Range("A1:B10")(5,3)。

    如果将A1:B10区域命名为”MyRange”,那么Range("MyRange")(5,3)也指定单元格C5。

    (2) Range("A1:B10")(12,13)指定单元格M12,即用这种方式引用单元格,该单元格不必一定要包含在区域内。

    同时,也不需要索引数值是正值,例如:

    ① Range("D4:F6")(0,0)代表单元格C3;

    ② Range("D4:F6")(-1,-2)代表单元格A2。

    而Range("D4:F6")(1,1)代表单元格D4。

    (3) 也可以在单元格区域中循环,例如:

    Range("D4:F6")(2,2)(3,4)代表单元格H7,即该单元格位于作为左上角单元格E5的第3行第4列(因为E5是开始于区域中左上角单元格D4起的第2行第2列)。

    (4) 也能使用一个单个的索引数值进行引用。计数方式为从左向右,即在区域中的第一行开始从左向右计数,第一行结束后,然后从第二行开始从左到右接着计数,依次

    类推。(注:从区域中第一行第一个单元格开始计数,当第一行结束时,转入第二行最左边的单元格,这样按一行一行从左向右依次计数。以单元格区域中第1个单

    元格开始,按上述规则依次为第2个单元格、第3个单元格….等等),例如:

    Range("A1:B2")(1) 代表单元格A1;

    Range("A1:B2")(2) 代表单元格B1;

    Range("A1:B2")(3) 代表单元格A2;

    Range("A1:B2")(4) 代表单元格B2。

    这种方法可在工作表中连续向下引用单元格(即不一定是在单元格区域内,但在遵循相同的规律),例如:

    Range("A1:B2")(5)代表单元格A3;

    Range("A1:B2")(14)代表单元格B7,等等。

    也可以使用单个的负数索引值。

    这种使用单个索引值的方法对遍历列是有用的,例如,Range("D4")(1)代表单元格D4,Range("D4")(2)代表单元格D5,Range

    ("D4")(11)代表单元格D14,等等。

    同理,稍作调整后也可遍历行,例如:

    Range("D4").Columns(2)代表单元格E4,Range("D4").Columns(5)指定单元格H4,等等。

    (5)当与对象变量配合使用时,Item属性能提供简洁并有效的代码,例如:

    Set rng = Worksheets(1).[a1]

    定义了对象变量后,像单元格方法一样,Item属性允许使用两个索引数值引用工作表中的任一单元格,例如,rng(3,4)指定单元格D3。(By ChipPearson)

    问题十一:在VBA代码中,如何引用当前工作表中的整行或整列?

    回答:见下面的示例代码:

    (1) Range("C:C").Select,表示选择C列。

    Range("C:E").Select,表示选择C列至E列。

    (2) Range("1:1").Select,表示选择第一行。

    Range("1:3").Select,表示选择第1行至第3行。

    (3) Range("C:C").EntireColumn,表示C列;

    Range("D1").EntireColumn,表示D列。

    同样的方式,也可以选择整行,然后可以使用如AutoFit方法对整列或整行进行调整。

    问题十二:在VBA代码中,如何引用当前工作表中的所有单元格?

    回答:可以使用下面的代码:

    (1) Cells,表示当前工作表中的所有单元格。

    (2) Range(Cells(1, 1), Cells(Cells.Rows.Count, Cells.Columns.Count)),其中Cells.Rows表示工作表所有行,Cells. Columns表示工作表所有列。

    问题十三:在VBA代码中,如何引用工作表中的特定单元格区域?

    回答:在工作表中,您可能使用过“定位条件”对话框。可以通过选择菜单“编辑——定位”,单击“定位”对话框中的“定位条件”按钮显示该对话框。这个对话框可以允许用户选择特定的单元格。例如:

    (1)Worksheets("sheet1").Cells.SpecialCells(xlCellTypeAllFormatConditions),表示工作表sheet1中由带有条件格式的单元格所组成的区域。

    (2)ActiveCell.CurrentRegion.SpecialCells(xlCellTypeBlanks),表示当前工作表中活动单元格所在区域中所有空白单元格所组成的区域。

    问题十四:在VBA代码中,如何引用其它工作表或其它工作簿中的单元格区域?

    回答:要引用其它工作表或其它工作簿中的单元格区域,只需在单元格对象前加上相应的引用对象即可,例如:

    (1) Worksheets(“Sheet3”).Range(“C3:D5”),表示引用工作表sheet3中的单元格区域C3:D5。

    (2)Workbooks(“MyBook.xls”).Worksheets(“sheet1”).Range(“B2”),表示引用MyBook工作簿中工作表Sheet1上的单元格B2。

    问题十五:还有其它的一些情形吗?

    回答:列举如下:

    (1)Cells(15),表示单元格O1,即可在Cells属性中指定单元格数字来选择单元格,其计数顺序为自左至右、从上到下,又如Cells(257),表示单元格B1。

    (2) Cells(, 256),表示单元格IV1,但是如果Cells(, 257),则会返回错误。

    结语

    我们用VBA对Excel进行处理,一般是对其工作表中的数据进行处理,因此,引用单元格区域是ExcelVBA编程中最基本的操作之一,只有确定了所处理的单元格区域,才能使用相应的属性和方法进行下一步的操作。

    上面列举了一些引用单元格区域的情形和方式,可以看出,引用单元格区域有很多方式,有一些可能不常用,可以根据工作表的所处的环境和个人编程习惯进行选择使用。

    当然,在编写程序时,也可能会将上面的一些属性联合使用,以达到选取特定操作对象的目的,例如Offset属性、Resize属性、CurrentRegion属性、UsedRange属性等的组合。

    如何选择当前工作表中的单元格?

    例如,可以使用下面的代码选择当前工作表中的单元格D5:

    ActiveSheet.Cells(5, 4).Select

    或:ActiveSheet.Range("D5").Select

    如何选择同一工作簿中其它工作表上的单元格?

    例如,要选择同一工作簿中另一工作表上的单元格E6,可以使用下面的代码:

    Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)

    或:Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))

    也可以先激活该工作表,然后再选择:

    Sheets("Sheet2").Activate

    ActiveSheet.Cells(6, 5).Select

    如何选择不同工作簿中的单元格?

    例如,要选择另一工作簿中的一个工作表上的单元格F7,可以使用下面的代码:

    Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)

    或:Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")

    也可以先激活该工作簿中的工作表,然后再选择:

    Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate

    ActiveSheet.Cells(7, 6).Select

    如何选择当前工作表中的单元格区域?

    例如,要选择当前工作表中的单元格区域C2:D10,可以使用下面的代码:

    ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select

    或:ActiveSheet.Range("C2:D10").Select

    或:ActiveSheet.Range("C2", "D10").Select

    如何选择同一工作簿中另一工作表上的单元格区域?

    例如,要选择同一工作簿中另一工作表上的单元格区域D3:E11,可以使用下面的代码:

    Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")

    或:Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")

    也可以先激活该工作表,然后再选择:

    Sheets("Sheet3").Activate

    ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select

    如何选择不同工作簿中工作表上的单元格区域?

    例如,要选择另一工作簿中某工作表上的单元格区域E4:F12,可以使用下面的代码:

    Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")

    或:Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")

    也可以先激活该工作表,然后再选择:

    Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate

    ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select

    如何在当前工作表中选择命名区域?

    例如,要选择当前工作表中名为“Test”的区域,可以使用下面的代码:

    Range("Test").Select

    或:Application.Goto "Test"

    如何选择同一工作簿中另一工作表上的命名区域?

    例如,选择同一工作簿中另一工作表上名为“Test”的区域,可使用下面的代码:

    Application.Goto Sheets("Sheet1").Range("Test")

    也可以先激活工作表,再选择:

    Sheets("Sheet1").Activate

    Range("Test").Select

    如何选择不同工作簿中工作表上的命名区域?

    例如,要选择不同工作簿中工作表上名为“Test”的区域,可使用下面的代码:

    Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")

    也可以先激活工作表,再选择:

    Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate

    Range("Test").Select

    如何选择与当前单元格相关的单元格?

    例如,要选择距当前单元格下面5行左侧4列的单元格,可以使用下面的代码:

    ActiveCell.Offset(5, -4).Select

    要选择距当前单元格上方2行右侧3列的单元格,可以使用下面的代码:

    ActiveCell.Offset(-2, 3).Select

    注意:一定要保证当前单元格与所选单元格之间的距离在工作表范围内,否则会出错。

    如何选择与另一单元格(不是当前单元格)相关的单元格?

    例如,要选择距单元格C7下方5行右侧4列的单元格,可以使用下面的代码:

    ActiveSheet.Cells(7, 3).Offset(5, 4).Select

    或:ActiveSheet.Range("C7").Offset(5, 4).Select

    如何选择偏离指定区域的一个单元格区域?

    例如,要选择与名为“Test”的区域大小相同但在该区域下方4行右侧3列的一个区域,可以使用下面的代码:

    ActiveSheet.Range("Test").Offset(4, 3).Select

    如果该命名区域不在当前工作表中,可以先激活该工作表,然后再选择,如下面的代码:

    Sheets("Sheet3").Activate

    ActiveSheet.Range("Test").Offset(4, 3).Select

    如何选择一个指定的区域并扩展区域的大小?

    例如,要选择当前工作表中名为“Database”区域,然后将该区域向下扩展5行,可以使用下面的代码:

    Range("Database").Select

    Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count).Select

    如何选择一个指定的区域,再偏离,然后扩展区域的大小?

    例如,选择名为“Database”区域下方4行右侧3列的一个区域,然后扩展2行和1列,可以使用下面的代码:

    Range("Database").Select

    Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 1).Select

    如何选择两个或多个指定区域?

    例如,为了同时选择名为“Test”和“Sample”的两个区域,可以使用下面的代码:

    Application.Union(Range("Test"), Range("Sample")).Select

    注意,这两个区域须在同一工作表中,如下面的代码:

    Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))

    但Union方法不能处理不同工作表中的区域,可下面的代码:

    Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))

    将会出错。

    如何选择两个或多个指定区域的交叉区域?

    例如,要选择名为“Test”和“Sample”的两个区域的交叉区域,可以使用下面的代码:

    Application.Intersect(Range("Test"), Range("Sample")).Select

    注意,两个区域必须在同一工作表中。

    = = = = = = = = = = = = = = = = = = = = = = = = =

    下面的示例使用了如下图所示的工作表。

     

    如何选择连续数据列中的最后一个单元格?

    例如,要选择一个连续列中的最后一个单元格,可以使用下面的代码:

    ActiveSheet.Range("a1").End(xlDown).Select

    该代码使用在上面的工作表中,单元格A4被选择。

    如何选择连续数据列底部的空单元格?

    例如,要选择连续单元格区域下面的单元格,可以使用下面的代码:

    ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select

    该代码使用在上面的工作表中,单元格A5被选择。

    如何选择某列中连续数据单元格区域?

    例如,要选择一列中的连续数据单元格区域,可以使用下面的代码:

    ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select

    或:ActiveSheet.Range("a1:" & ActiveSheet.Range("a1").End(xlDown).Address).Select

    该代码使用在上面的工作表中,单元格区域A1:A4将被选择。

    如何选择某列中非连续数据单元格区域?

    例如,要选择某列中非连续数据单元格区域,可以使用下面的代码:

    ActiveSheet.Range("a1", ActiveSheet.Range("a65536").End(xlUp)).Select

    或:ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536").End(xlUp).Address).Select

    该代码使用在上面的工作表中,单元格区域A1:A6将被选择。

    如何选择一个矩形(规则的)单元格区域?

    要选择围绕某单元格的一个矩形区域,可以使用CurrentRegion方法。CurrentRegion方法将选择四周被空行和空列围绕的区域,如下面的代码:

    ActiveSheet.Range("a1").CurrentRegion.Select

    该代码使用在上面的工作表中,将选择单元格区域A1:C4。也可以使用下面的代码:

    ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select

    或:

    ActiveSheet.Range("a1:" & ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select

    若想选择单元格区域A1:C6,可使用下面的代码:

    lastCol = ActiveSheet.Range("a1").End(xlToRight).Column

    lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row

    ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select

    或:

    lastCol = ActiveSheet.Range("a1").End(xlToRight).Column

    lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row

    ActiveSheet.Range("a1:" & ActiveSheet.Cells(lastRow, lastCol).Address).Select

    = = = = = = = = = = = = = = = = = = = =

    如何选择多个不同长度的非连续列?

    例如,有下图所示的工作表:

     

    要同时选择A列和C列中的数据,即单元格区域A1:A3和C1:C6,可使用下面的代码:

    StartRange = "A1"

    EndRange = "C1"

    Set a = Range(StartRange, Range(StartRange).End(xlDown))

    Set b = Range(EndRange, Range(EndRange).End(xlDown))

    Union(a, b).Select

    = = = = = = = = = = = = = = = = = = = =

    注:使用Application.Goto方法,如果指定另一工作表(不是当前工作表)中的指定区域,在Range属性中使用两个Cells属性时,则必须包括Sheets对象,如:

    Application.Goto Sheets("Sheet1").Range(Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), Sheets("Sheet1").Cells(4, 5)))

    = = = = = = = = = = = = = = = = = = = =

    在VBA中,Range 对象既可表示单个单元格,也可表示单元格区域。下面的内容说明了标识和处理Range对象最常用的方法。

    引用工作表上的所有单元格

    如果对工作表应用 Cells 属性时不指定索引号,该方法将返回代表工作表上所有单元格的 Range 对象。以下 Sub 过程清除活动工作簿中 Sheet1 上的所有单元格的内容。

    Sub ClearSheet()

    Worksheets("Sheet1").Cells.ClearContents

    End Sub

    使用 A1 表示法引用单元格和区域

    可使用 Range 属性引用 A1 引用样式中的单元格或单元格区域。下述子例程将单元格区域 A1:D5 的字体设置为加粗。

    Sub FormatRange()

    Workbooks("Book1").Sheets("Sheet1").Range("A1:D5") _

    .Font.Bold = True

    End Sub

    下表演示了使用 Range 属性的一些 A1 样式引用。

    引用 含义

    Range("A1") 单元格 A1

    Range("A1:B5") 从单元格 A1 到单元格 B5 的区域

    Range("C5:D9,G9:H16") 多块选定区域

    Range("A:A") A 列

    Range("1:1") 第一行

    Range("A:C") 从 A 列到 C 列的区域

    Range("1:5") 从第一行到第五行的区域

    Range("1:1,3:3,8:8") 第 1、3 和 8 行

    Range("A:A,C:C,F:F") A 、C 和 F 列

    引用行和列

    可用 Rows 属性或 Columns 属性来处理整行或整列。这两个属性返回代表单元格区域的 Range 对象。在下例中,Rows(1) 返回 Sheet1 上的第一行,然后将区域字体加粗。

    Sub RowBold()

    Worksheets("Sheet1").Rows(1).Font.Bold = True

    End Sub

    下表举例说明了使用 Rows 和 Columns 属性的一些行和列的引用。

    引用 含义

    Rows(1) 第一行

    Rows 工作表上所有的行

    Columns(1) 第一列

    Columns("A") 第一列

    Columns 工作表上所有的列

    若要同时处理若干行或列,可创建一个对象变量并使用 Union 方法,将对 Rows 属性或 Columns 属性的多个调用组合起来。下例将活动工作簿中第一张工作表上的第一行、第三行和第五行的字体设置为加粗。

    Sub SeveralRows()

    Worksheets("Sheet1").Activate

    Dim myUnion As Range

    Set myUnion = Union(Rows(1), Rows(3), Rows(5))

    myUnion.Font.Bold = True

    End Sub

    使用索引号引用单元格

    通过使用行列索引号,可用 Cells 属性引用单个单元格。该属性返回代表单个单元格的 Range 对象。在下例中,Cells(6,1) 返回 Sheet1 上的单元格 A6,然后将 Value 属性设置为 10。

    Sub EnterValue()

    Worksheets("Sheet1").Cells(6, 1).Value = 10

    End Sub

    因为可用变量替代编号,所以 Cells 属性非常适合于在单元格区域中循环,如下例中所示。

    Sub CycleThrough()

    Dim Counter As Integer

    For Counter = 1 To 20

    Worksheets("Sheet1").Cells(Counter, 3).Value = Counter

    Next Counter

    End Sub

    如果要同时更改某个区域中所有单元格的属性(或将方法应用于该区域中的所有单元格),建议使用 Range 属性。

    使用快捷表示法引用单元格

    可用方括号将 A1 引用样式或命名区域括起来,作为 Range 属性的快捷方式。这样就不必键入单词“Range”或使用引号了,如下例中所示。

    Sub ClearRange()

    Worksheets("Sheet1").[A1:B5].ClearContents

    End Sub

    Sub SetValue()

    [MyRange].Value = 30

    End Sub

    使用 Range 对象引用单元格

    如果将对象变量设置为 Range 对象,即可用变量名轻松地操作单元格区域。

    以下过程将创建对象变量 myRange,然后将活动工作簿中 Sheet1 上的区域 A1:D5 赋予该变量。随后的语句用该变量名称代替 Range 对象,以修改该区域的属性。

    Sub Random()

    Dim myRange As Range

    Set myRange = Worksheets("Sheet1").Range("A1:D5")

    myRange.Formula = "=RAND()"

    myRange.Font.Bold = True

    End Sub

    引用命名区域

    用名称比用 A1 样式记号更容易标识单元格区域。若要命名选定的单元格区域,请单击编辑栏左端的名称框,键入名称,再按 Enter。

    引用命名区域

    以下示例引用名为“MyBook.xls”的工作簿中名为“MyRange”的区域。

    Sub FormatRange()

    Range("MyBook.xls!MyRange").Font.Italic = True

    End Sub

    以下示例引用名为“Report.xls”的工作簿中特定于工作表的区域“Sheet1!Sales”。

    Sub FormatSales()

    Range("[Report.xls]Sheet1!Sales").BorderAround Weight:=xlthin

    End Sub

    要选定命名区域,可使用 GoTo 方法,该方法将激活工作簿和工作表,然后选定该区域。

    Sub ClearRange()

    Application.Goto Reference:="MyBook.xls!MyRange"

    Selection.ClearContents

    End Sub

    以下示例显示对于活动工作簿将如何编写与上例相同的过程。

    Sub ClearRange()

    Application.Goto Reference:="MyRange"

    Selection.ClearContents

    End Sub

    在命名区域中的单元格上循环

    下例用 For Each...Next 循环语句在命名区域中的每一个单元格上循环。如果该区域中的任一单元格的值超过 limit 的值,就将该单元格的颜色更改为黄色。

    Sub ApplyColor()

    Const Limit As Integer = 25

    For Each c In Range("MyRange")

    If c.Value > Limit Then

    c.Interior.ColorIndex = 27

    End If

    Next c

    End Sub

    引用多个区域

    使用适当的方法可以很容易地同时引用多个单元格区域。可用 Range 和 Union 方法引用任意组合的单元格区域;用 Areas 属性可引用工作表上选定的一组单元格区域。

    使用 Range 属性

    通过在两个或多个引用之间插入逗号,可使用 Range 属性引用多个区域。以下示例清除了 Sheet1 上三个区域的内容。

    Sub ClearRanges()

    Worksheets("Sheet1").Range("C5:D9,G9:H16,B14:D18"). _

    ClearContents

    End Sub

    命名区域使得用 Range 属性处理多个区域更加容易。以下示例可在所有这三个命名区域处于同一工作表时运行。

    Sub ClearNamed()

    Range("MyRange, YourRange, HisRange").ClearContents

    End Sub

    使用 Union 方法

    使用 Union 方法可将多个区域组合到一个 Range 对象中。以下示例创建了名为 myMultipleRange 的 Range 对象,并将其定义为区域 A1:B2 和 C3:D4 的组合,然后将该组合区域的字体设置为加粗。

    Sub MultipleRange()

    Dim r1, r2, myMultipleRange As Range

    Set r1 = Sheets("Sheet1").Range("A1:B2")

    Set r2 = Sheets("Sheet1").Range("C3:D4")

    Set myMultipleRange = Union(r1, r2)

    myMultipleRange.Font.Bold = True

    End Sub

    使用 Areas 属性

    可用 Areas 属性引用选定的单元格区域或多块选定区域中的区域集合。下述过程计算选定区域中的块数目,如果有多个块,就显示一则警告消息。

    Sub FindMultiple()

    If Selection.Areas.Count > 1 Then

    MsgBox "不能对多个选区进行操作."

    End If

    End Sub

    处理三维区域

    如果要处理若干工作表上相同位置的单元格区域,可用 Array 函数选定两张或多张工作表。下例设置三维单元格区域的边框格式。

    Sub FormatSheets()

    Sheets(Array("Sheet2", "Sheet3", "Sheet5")).Select

    Range("A1:H1").Select

    Selection.Borders(xlBottom).LineStyle = xlDouble

    End Sub

    下例应用 FillAcrossSheets 方法,将 Sheet2 上的区域中的格式和所有数据传送到活动工作簿中所有工作表上的相应区域。

    Sub FillAll()

    Worksheets("Sheet2").Range("A1:H1") _

    .Borders(xlBottom).LineStyle = xlDouble

    Worksheets.FillAcrossSheets (Worksheets("Sheet2") _

    .Range("A1:H1"))

    End Sub

    展开全文
  • Range(“a1:a10”).Select '表示选中单元格A1:A10的区域 Range(“a2”).Value = 1 '表示给单元格赋值为1,Range的默认属性就是Value Range(“a1”).Offset(2, 3).Select '以单元格a1为基准,下移2行,右移3列,...
  • Sub kuangxian() ...).Select '选择区域 Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft)...
  • VBA 单元格基本操作 - 值的判断

    千次阅读 2020-08-05 23:21:43
    运行后就会弹出个警告,提示用户输入内容,输入后就会在A1单元格显示了,但是也存在一个问题,就是取消后呢,原来在A1单元格的内容就会被清空。 所以改良一下,也把“输入数字这个功能再完善一下”。 Sub ...
  • VBA选择单元格的语句

    万次阅读 2013-08-27 21:11:56
    如何选择当前工作表中的单元格? 例如,可以使用下面的代码选择当前工作表中的单元格D5: ActiveSheet.Cells(5, 4).Select 或:ActiveSheet.Range("D5").Select 如何选择同一工作簿中其它工作表上的单元格? ...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧2 选定单元格区域的方法 12 2-1 使用Select方法 12 2-2 使用Activate方法 12 2-3 使用Goto方法 12 技巧3 获得指定行、列中的最后一个非空单元格 12 技巧4 定位单元格 12 技巧5 查找单元格 12 5-1 使用Find方法 ...
  • 蓝字关注,加微信NZ9668获资料信息VBA解决方案 系列丛书作者头条百家平台 VBA资深创作者_______________________________大家好,今日继续和大家分享VBA编程中常用的常用“积木”过程代码。这些内容大多是我的经验的...
  • 大家好,近日推出的VBA文章较多,仍是以...今日给大家讲解如何在复制单元格区域时,仅复制单元格区域的数值,有下面方法加以利用。一 :使用选择性粘贴使用选择性粘贴功能并指定粘贴数值,如下面的代码所示。Sub M...
  • 2. Find方法的语法[语法]<单元格区域>.Find (What,[After],[LookIn],[LookAt],[SearchOrder],[SearchDirection],[MatchCase],[MatchByte],[SearchFormat])'_____...
  • 如题所示,点击单元格就出现列表,可以选择数据,从而实现输入的目的!看下图!上图为最终实现的效果,下面我们一起来...首先,选择好欲产生这种功能的单元格,之后执行“数据”→“有效性”,弹出数据有效性对话框...
  • 1、单元格引用 引用 含义 Range(“A1”) ... A1到B2的单元格区域 Range(“C5:D9,G9:H16”) 多块选定区域 ·Range(“A:A”) ...
  • VBA 动态生成多选框

    千次阅读 2017-06-14 10:13:36
    Sheet1.Range(rangeAddr).Value = Right(Tval, Len(Tval) - 1)'将结果关联到选中的单元格 End Sub Private Sub TextBox1_Change() End Sub Private Sub UserForm_Initialize() '先计算有多少个控件,每10个换列 ...
  • VBA单元格操控备忘

    2017-06-23 00:23:33
    1、选取单个单元格: Sub 选取单元格B2方法1() Range("B2").Select End Sub Sub 选取单元格B2方法2() Range("B" & 2).Select End Sub Sub 选取单元格B2方法3() Cells(2, 2).Select End Sub Sub 选取单元格B2方法4...
  • excel VBA自动设置表格格式

    千次阅读 2020-01-07 23:42:30
    通过VBA自动将表格格式快速设置为要求的格式,减少手工调整的时间。
  • 首先说以下.xlsm文件和.xlsx文件的区别...打开.xlsm文件后在当前Sheet的名字上右击,“View Code”(或者直接快捷键Alt+F11打开VB编辑窗口),出现下图: 图中红圈1表示当前工作簿的第一个工作表,系统命名为Sh...
  • EXCEL所选单元格所在行列有颜色

    千次阅读 2018-07-01 15:00:29
        1.打开需要应用的excel。...3.在左边会显示出上下两个类别里,名字分别是Project-VBAProject和Properties-sheet1(这个sheet几是你当前编辑的表单) 4.在上面的边有三个小图标,view cod...
  • 上周,我发了关于Excel VBA的第一篇文章后,社群里就砸开了锅 看到辣么多小伙伴们,辣么喜欢,我的干劲儿就更足了。于是,我准备把Excel VBA写成一个系列免费教程,撸完这个系列你也是VBA界的黑山老妖了。 今天是这...
  • excel复选框 在Excel公式中使用复选框结果 (Use Check Box Result in Excel Formula) To make it easy for people to enter data on a worksheet, you can insert a check box control, using the Form Control ...
  • 若要在单元格区域中循环,请在循环中将变量与 Cells属性一起使用。下例以 5 为步长,用 5 到 100 之间的值填充第三列的前 20 个单元格。变量 counter  用作 Cells属性的行号。 Sub CycleThrough() Dim counter ...
  • ExcelVBA之InputBox方法

    2020-06-05 12:51:57
    除了InputBox函数之外,还有InputBox方法,如果你激活对象浏览器,然后搜索“inputbox”,VB将显示两个InputBox——一种为Excel库,另一种为VBA库(见图4-12)。InputBox方法在Excel库里面可用,它的语法和本章前面...
  • excel添加复选框的两种做法

    千次阅读 2016-08-04 15:12:26
    内容提要:文章介绍excel添加复选框的方法,通过控件命令和VBA实现批量添加复选框。对Excel感兴趣的朋友可加Excel学习交流群:284029260(www.itblw.com)  excel添加复选框,然后就可以在复选框上单击进行打勾...
  • Excel 添加复选框

    千次阅读 2013-05-17 16:49:17
    我用的excel是2013版的,其他版的应该都一样。 方法一:使用Excel开发工具添加...方法二:使用VBA代码批量添加复选框 按下ALT+F11组合键,打开VBE编辑器,复制以下代码: Sub excel添加复选框() Application.Scree
  • 其所显示的标题为ListFillRange所引用的单元格区域中上一行的单元格区域,如图所示。当ListFillRange以第一行为起点时, 则以列标作为标题。 ListBox控件的值 一般地,可以通过ListBox控件的List属性返回列表项目中...
  • excel宏选中单元格单元格引用运行Excel宏 (Run an Excel Macro From a Cell Reference)Last week I wrote an article about hiding Excel macros, so they don't appear in the macro list. While working on ...
  • Excel VBA:Range对象

    千次阅读 2020-01-13 15:28:50
    1.表示连续区域 Range("A1")表示单个单元格A1,同...Range(cells(i,j),cells(m,n))表示第i行第j列的单元格到第m行n列的单元格区域,有时cells前需加worksheets("sheet1").之类; 2.表示不连续区域 Range("A1:B2...
  • Word表格之VBA知识

    千次阅读 多人点赞 2019-01-28 13:56:10
    Table对象(因为是对象,...下面是Table的常用方法(注意是部分,不是全部,只例出重要的方法,下面的属性皆如此,如果详细面全部的了解,请看Word VBA自带的帮助。VBAWD10.chm) 使用Table对象 可使用 Tables(...

空空如也

空空如也

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

vba框选单元格区域