精华内容
下载资源
问答
  • 以地址表示矩形单元格区域对象 以对角单元格表示矩形单元格区域对象 不规则单元格区域表示 使用Union方法获取合并区域 使用Intersect方法获取多个区域的交集 以地址表示矩形单元格区域对象 在Excel中,如要...

    目录

    以地址表示矩形单元格区域对象

    以对角单元格表示矩形单元格区域对象

    不规则单元格区域的表示

    使用Union方法获取合并区域

    使用Intersect方法获取多个区域的交集


    以地址表示矩形单元格区域对象

        在Excel中,如要以地址表示某个矩形的单元格区域,则需要运用冒号(:)运算符,在其两侧分别写入该矩形区域对角的两个单元格地址,即最左上角的单元格地址和最右下角的单元格地址,或者最左下角的单元格地址和最右上角的单元格地址。如图所示,若要表示该区域,则可以选用地址1和地址3,或者地址2和地址4。

        一旦选定了某组地址,就可将两个地址任意放置于冒号(:)的两侧,而无须分先后。比如“地址1:地址3”、“地址3:地址1”、“地址4:地址2”、  “地址2:地址4”是等价的。
        在VBA中,使用Range对象可以表示单元格区域,其用法与单个的单元格相同,Address参数只需采用以上区域表示方式即可。因而本例中,需要表示A1:BIO单元格区域,以下四个表达式是等价的。

    Range ( "A1: B10 " )
    Range ( "A10 : B1 " )
    Range ( "B10 : A1 " )
    Range ( "B1 : A10 " )

        一般情况下,若无特殊需求,总是以“最左上角单元格地址:最右下角单元格地址”的形式表示某个矩形单元格区域。

    以对角单元格表示矩形单元格区域对象

        在ExceIVBA中,只需指定矩形单元格区域的对角单元格,就可以直接用Range对象表示该单元格区域,其语法为

    Range(Addressl,Address2)

        如A1:B10可以采用以下表达式中的任何一个:

    Range ( "A1" ,"B10" )
    Range ( "A10" ,"B1" )
    Range ( "B10" ,"A1" )
    Range ( "B1" , "A10" )
    

    该方式表示单元格区域时,也可以用单元格对象替代其地址,即Range(Cell1,Ce112)
        其中,参数Cell1和Ce112表示单元格区域的对角单元格对象,即Range对象或者Cell对象。Celll和Ce112可以为图2-4所示的对角单元格中的任何一组。如本例表示A1:B10,若以单元格A1和B10作为对角单元格为例,可以采用以下任何一个表达式,开发者可根据实际需求任选其一:

    Range  (Range  ( "A1 " )  , Range (¨B10 " ))
    Range  (Range  ( "B10 ")  , Range ( " A1 "))
    Range ( Cells (1, "A")  , Range (¨ B10 "))
    Range ( Cells (10 , "B" )  , Range (¨A1 "))
    Range ( Cells (1, "A")  , Cells (10, " B" ))
    Range ( Cells (10 ,¨B¨ ) , Cells ( 1, "A" ))
    Range (Range ( "A1" ) , Cells (10 , "B "))
    Range (Range ( "B10 ")  , Cells (1,¨A"))
    

    不规则单元格区域的表示

        任何不规则单元格区域可以表示为若干个矩形单元格区域或单元格的并集。当需要表示此类单元格区域对象时,可以采用以下方式表示:

    Range  ( "AreaAddre1,[AreaAddress2]  [ , ...]   [ AreaAddressN]")

        其中,AreaAddress表示各个矩形单元格区域的地址。本例中需要同时选择A1:A10以及C1:D8区域,即两个矩形区域A1:A10和C1:D8,因而其单元格区域的对象表示为

    Range( "A1 : A10 , C1 : D8 ")
    

    使用Union方法获取合并区域

        如图所示,当需要表示多个单元格区域的合并区域时(即整个区域1和区域2所包围的不规则区域),除了使用单元格地址表示方法外,还可以使用Union方法对多个区域进行并集运算。

    Union方法的语法如下:

    Union ( Rangel ,Range2 [ , ...]  [ .Ran greN)

        其中,RangeN为各个所需要求并集的单元格区域。在一个Union方法中,最少求并集的区域为2个,最多为30个。Union方法将会返回一个单元格区域的对象,可以将其赋值给Range对象变量或者直接作为对象进行使用。比如:

    Set 合并区域=Union(区域1,区域2)

    或者

    Union(区域1,区域2).Select

    比如需要同时选中A1:A10和C1:D8,也可以采用Union方法表示其单元格区域对象:

    Union(Range("A1:A10¨),Range(¨C1:D8")).Select

        当需要求多个单元格区域的并集时,此方法可以避免同时记录太多单元格地址而造成程序难以阅读。当需要求3个或3个以上的合并单元格区域时,通常采用以下方法:

    Set合并区域=Union(区域1,区域2)
    Set合并区域=Union(合并区域,区域3)

    使用Intersect方法获取多个区域的交集

    所谓区域的交集,即两个或两个以上单元格区域的重叠部分,如图所示。

    当需要获取两个区域的交集时,通常采用Intersect方法,其语法为

    Intersect(Rangel,Rangre2 [ , ... ]  [ . RangeN])

        其中,RangeN为各个所需要求交集的单元格区域。同Union方法一样,在一个Intersect方法中,最少求交集的区域为2个,最多为30个。Intersect方法将会返回一个单元格区域的对象,可以将其赋值给Range对象变量或者直接作为对象进行使用。如:

    Set 交集区域=Intersect(区域1,区域2)

    或者

    Intersect(区域1,区域2).Select

        需要注意的是,当两个或多个区域不存在交集时(如图2-7所示),该方法将返回Nothing,此时将不代表任何单元格或单元格区域,无法对其进行对象操作。


     

    展开全文
  • Excel VBA单元格对象

    2020-06-18 15:08:38
    Cells(1,1)方式——表示A1单元格(cells属性返回单元格区域中指定行和列相交的单元格) Cells(1,“A”)方式——表示A1单元格Cells(2,1)方式——表示A2单元格 [A1]方式——表示A1单元格 注意:①列标不区分大小写 ②...

    多种方法引用单元格

    Range(“A1”)方式——表示A1单元格
    Cells(1,1)方式——表示A1单元格(cells属性返回单元格区域中指定行和列相交的单元格)
    Cells(1,“A”)方式——表示A1单元格Cells(2,1)方式——表示A2单元格
    [A1]方式——表示A1单元格

    注意:①列标不区分大小写 ②VBA中字符用加双引号"",数字和变量无需加双引号""。所以,Cells(1,“A”)方式很好理解了。

    多种方法引用单元格区域

    Range(“A1:B2”)方式——表示A1到B2的单元格区域,包括4个单元格
    [A1:B2]方式——表示A1到B2的单元格区域,包括4个单元格
    以下三种方式等同:
    Range(Cells(1, 1), Cells(10, 5))
    Range(“A1”, “E10”)
    Range(Range(“A1”), Range(“E10”))
    均表示工作表中A1:E10单元格区域

    优缺点讨论:Cells(1,1)缺点是形式不支持引用区域,不支持成员列表;[A1]形式不支持循环,不支持成员列表;Range(“A1”)形式支持循环,支持引用区域,支持自动列出属性,方法等成员。

    引用整行或者整列

    Range(3:3)——表示引用第三行
    Range(2:5)——表示引用第二到第五行
    Range(“D:D”)——表示引用D列(D不区分大小写)
    Rows(3)——表示引用第三行
    Rows(“3”)——表示引用第三行
    Rows(“3:5”)——表示引用第三到第五行
    Columns(3)——表示引用第三列
    Columns(“C”)——表示引用第三列
    Columns(“C:D”)——表示引用C到D列

    属性

    offset
    作用:返回Range对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。
    语法
    Range.Offset(RowOffset, ColumnOffset)

    RowOffset:区域偏移的行数(正数、负数或 0(零))。正数表示向下偏移,负数表示向上偏移。默认值是 0。
    ColumnOffset:区域偏移的列数(正数、负数或 0(零))。正数表示向右偏移,负数表示向左偏移。默认值是 0。

    Resize
    语法
    Range.Resize(RowSize, ColumnSize)

    RowSize:新区域中的行数。如果省略该参数,则该区域中的行数保持不变。
    ColumnSize:新区域中的列数。如果省略该参数。则该区域中的列数保持不变。

    Range(“a1”).Resizt(3, 2).Select
    在这里插入图片描述
    End
    作用:返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+
    ↑、End+ ↓、End+ ←或 End+ →。
    语法
    Range.End(Direction)
    Direction:所要移至的方向。(包括以下四种情况)
    xlDown 向下
    xlToLeft 向左
    xlToRight 向右
    xlUp 向上

    我们一般用end属性获取某列的最后一个非空单元格的行号
    Cells(Rows.Count, “A”).End(xlUp).row

    Address
    作用:返回单元格地址。
    MsgBox Range(“a1”).Address
    在这里插入图片描述

    Value
    作用:表示单元格里面的内容,默认属性,可省略

    常用方法

    Select
    相当于我们点住鼠标左键圈选一个单元格区域
    Range(“a1:a10”).Select

    copy
    复制内容到指定目的地的作用。
    Range(“a1”).Copy Range(“b1”) ’ 将A1单元格内容复制到B1
    Worksheets(1).Range(“a1”).Copy Worksheets(2).Range(“b1”)'将表1中A1单元格内容复制到表2单元格B1中

    Union
    将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作。
    Union(Worksheets(1).Range(“A1:D4”), Worksheets(1).Range(“E5:H8”)).Select
    在这里插入图片描述
    union方法一般结合find方法,在依次找到特定的单元格区域之后,联合选择然后做统一的操作。

    Clear
    清除单元格的内容
    Sub test()
    Range(“a:a”).Clear '清除A列单元格,包括数据内容和格式
    Range(“a:a”).ClearContents '如果不想清楚单元格颜色等格式,只清除A列单元格内容用ClearContentsRange(“a:a”).ClearComments '清除批注
    Range(“a:a”).ClearFormats’清除格式
    End Sub

    SpecialCells
    在Excel中使用定位对话框可以选中工作表中特定的单元格区域,而在VBA中则使用SpecialCells方法。下面这个例子实现选中含有公式的单元格。

    Sub test()
    Dim rng As Range
    Set rng = Sheet1.Range(“a1:x100”).SpecialCells(xlCellTypeFormulas)'选中A1:X100单元格区域中包含公式的单元格
    rng.Select
    End Sub
    在这里插入图片描述
    除了可以选中包含公式的单元格,我们还可以选中含有注释的单元格区域、含有相同格式的单元格区域等等。

    上述代码中xlCellTypeFormulas替换为下表中值即可
    在这里插入图片描述
    我们如果要仅复制筛选后的数据,就可以用
    SpecialCells(xlCellTypeVisible).copy

    如果判断A1:B10单元格区域若存在空格,则隐藏所在行[A1:B10].SpecialCells(xlCellTypeBlanks).Rows.Hidden =True

    整理空行工具
    Sub s()
    row1 = InputBox(“请输入需要整理空行的列(英文)”, “提示信息”)
    Range(row1 & “:” & row1).SpecialCells(xlCellTypeBlanks).Rows.Hidden = True
    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
    

    选取前

    选取整行

    展开全文
  • Range(“a1:a10”).Select '表示选中单元格A1:A10的区域 Range(“a2”).Value = 1 '表示单元格赋值为1,Range的默认属性就是Value Range(“a1”).Offset(2, 3).Select '以单元格a1为基准,下移2行,右移3列,...

    主要内容:

    1. 单元格和他的朋友们
    2. 单元格对象常用操作
      Cells(2, 3).Select '单元格第二行第3列
      Range(“a1:a10”).Select '表示选中单元格A1:A10的区域

    Range(“a2”).Value = 1 '表示给单元格赋值为1,Range的默认属性就是Value

    Range(“a1”).Offset(2, 3).Select '以单元格a1为基准,下移2行,右移3列,单元格偏移

    Range(“a1”).End '单元格所在区域的边界

    Sheet1.Range(“a65536”).End (xlUp).Row '表示到单元格a65536的上边界,还有左边界xlLeft,右边界xlRight,下边界xlDown。表中有数据的一共有多少行,返回表中最后一行的行号

    Range(“a10”).EntireRow.Select '重新选区域,选a10所在的整行

    Range(“a10”).Resize(1, 4).Select '表示选中多个区域,以单元格a10为基准,向下一行,向右4列,选中这个区域

    Range(“H7:L7”).Copy Range(“N7”) '选择区域H7:L7,复制,Copy后空格,填写要复制到哪个位置

    Range(“a1:a3”).Merge 'merge表示合并选中的单元格区域

    MsgBox “弹出一个输出确定框”
    在这里插入图片描述
    InputBox “你几岁了?弹出一个输入框”
    在这里插入图片描述
    i = InputBox(“你几岁了?”) '把输入的值赋值给变量i

    Range(“a1”) = i '表A1单元格就会被赋值

    展开全文
  • VBA中引用单元格区域

    千次阅读 2018-01-29 22:14:51
    在Visual Basic中,Range对象既可表示单个单元格,也可表示单元格区域。  引用 含义 Range("A1") 单元格A1 Range("A1:B5")   从单元格A1到单元格B5的区域 Range("C5:D9,G9:H16") 多块选定区域 Range...
  • vba基础单元格 选取1 表示一个单元格(a1)2 表示选相邻单元格区域3 表示不相邻的单元格区域,4 表示行5 表示列6 重置坐标下的单元格表示方法7 表示正在选取的单元格区域练习 单元格 选取 1 表示一个单元格(a1) Sub s...
  • 使用 Visual Basic 的普通任务是指定单元格或单元格...在 Visual Basic 中,Range 对象既可表示单个单元格,也可表示单元格区域。下列主题说明了标识和处理 Range 对象最常用的方法。用 A1 样式记号引用单元格和单元格
  • [] / Range / Cells代表一个单元格或单元格区域,这是非常基本、用法也非常多的对象。我们看一个汇总说明。对固定单元格和固定范围的表示,用 [] 是最简单也最直观的,用 Range 也还可以,只是书写起来稍为啰嗦,而...
  • NO.1Excel合并单元格操作,相对简单,快捷工具栏里有按钮可以方便执行。...语法Range.Merge(Across)Range是一个单元格区域对象变量。也可以这样来表示:Range("A1:F10").Merge此例表示将A1到F1单...
  • VBA早间档VBA早间档,利用简单的几分钟,学习一些简单的VBA知识,提升工作效率今日主题昨天我们分享了VBA中对于行列的一些简单操作,今天我们来继续深入学习,在我19点档的案例分享的代码中,经常会碰到一些表示行列...
  • 今天我们内容主要通过讲解'Range.EntireRow(返回行),Range.EntireColumn(返回列)两个属性,定位单元格具体位置,并根据位置删除所在区域。▼Range.EntireRow属性▼1、Range.EntireRow 属性:返回一个 Range 对象,...
  • 数组除了数字类型外,当然没有颜色、字体等格式,但是别忘了range对象可以表示多个连续或不连续的单元格区域。 利用上述特点,我们就是要数组构造单元格地址串,然后批量对单元格进行格式设置。 注意,range单元格...
  • Excwl VBA:整行和整列区域

    千次阅读 2020-01-02 19:47:04
    返回一个 Range 对象,该对象表示包含指定区域的整行(或多行)。只读。 语法 表达式.EntireRow 表达式一个代表 Range 对象的变量。 示例 本示例对包含活动单元格的行中的第一个单元格赋值。本示例必须在工作表...
  • No.1本节内容有两个重点,一个是数组,一个是公式。...这个方法有一个快捷方式,即选定一个单元格区域,在“编辑栏”里输入“=”+数据或“=”+公式。按Shift+Ctrl+Enter组合键。此时,查看编辑栏里的值会多出一个{...
  • VBA编程基础

    2007-12-26 11:19:00
    VBA - Excel编程概念之:【单元格和区域】一、如何引用单元格和区域 使用 Visual Basic 的普通任务是指定单元格或单元格...在 Visual Basic 中,Range 对象既可表示单个单元格,也可表示单元格区域。下列主题说明了标
  • 学习资源:《Excel VBA从入门到进阶》第72集 by兰色幻想这节课...Select * from [sheet1$]如果是对表中特定单元格区域进行查找,可以在[sheet1$]的$后面加单元格区域。在开讲之前,先在类模块写好打开数据库、复制筛...
  • 数组除了数字类型外,当然没有颜色、字体等格式,但range对象可以表示多个连续或不连续的区域,我们就可以用数组构造单元格地址串,然后批量对单元格进行格式设置。 需要注意的是,Range里单元格地址串不能大于255...
  • 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...
  • Columns对象和Rows对象分别表示整列单元格和整行单元格,是一种特殊的单元格区域对象。当这两个对象没有任何指定地址时,分别表示整个工作表的所有列和所有行。 单列和单行的表示 当需要表示单列..
  • 行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格) 中选定的单元格,甚至是多个工作表上的一组单元格,在操作 Excel 内的任何区域之前都 需要将其表示为一个 Range 对象,然后...
  • EXCEL VBA笔记

    2018-05-08 19:04:51
    Range(“A1”).Select ‘选取单元格,Range表示区域 ActiveCell.FormulateR1C1=”1” ‘对选中的单元格赋值(R1C1相对位置赋值,此处赋值 ’按文本格式)ActiveCell 表示当前单元格 Cells(2,4)=3‘对D2赋值,此处...
  • EXCEL VBA-RANGE对象

    2020-03-28 10:17:35
    RANGE对象表示单元格或单元区域(区别cells对象,仅表示单元格),表示方法有如下几种: Range("C3: B109").Select '区域选中' Range("B109").Select 'B109单元格选中' Range(Cells(i, 2), Cells(i, 3))....
  • 学到这个程度,已经具有一定程度的实用性了。事实上,单元格设置背景颜色在实际... '数组除了数字类型外,当然没有颜色、字体等格式,但是别忘了range对象可以表示多个连续或不连续的单元格区域 '利用上述特点,我...
  • 学习资源:《Excel VBA从入门到进阶》第72集 by兰色幻想这节课来详细讲解...Select * from [sheet1$]如果是对表中特定单元格区域进行查找,可以在[sheet1$]的$后面加单元格区域。在开讲之前,先在类模块写好打开...
  • Range(“A1:D1”)是对单元格A1:D4的引用(也可以用[A1:D4]代替),可以表示值range().value,也可以表示单元格的宽和高等属性 我们加入循环语句,条件为A1:D4的和是否等于E1 Do Until Application.Sum(Ran
  • 学习VBA的记录

    2016-11-22 21:19:20
    1、cell和range的区别:cell代表一个单元格,如:cells(1,1)只能表示A1;Range可以表示一个单元格(range("A1"),也可以表示一个区域(range("A1:A10") 2、
  • 数组除了数字类型外,当然没有颜色、字体等格式,但是别忘了range对象可以表示多个连续或不连续的单元格区域。 利用上述特点,我们就是要数组构造单元格地址串,然后批量对单元格进行格式设置。 注意,单元格地址串...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
     11.1.13 确定单元格区域是否包含在另一个单元格区域内  11.1.14 确定单元格的数据类型  11.1.15 读写单元格区域  11.1.16 在单元格区域中插入值的更好方法  11.1.17 传递一维数组中的内容  11.1.18 将单元格...
  • VBA之UsedRange属性

    千次阅读 2019-09-26 00:37:00
    2 '返回一个 Range 对象,该对象表示指定工作表上所使用的区域 3 4 5 Sub 已使用区域() '选中工作表里“占用”的的区域 6 Sheet2.UsedRange.Select 7 End Sub 8 9 10 '注意: 11 '已使用区域的...

空空如也

空空如也

1 2 3 4
收藏数 63
精华内容 25
关键字:

vba表示单元格区域