精华内容
下载资源
问答
  • excel vba怎么获得当前选中单元格

    千次阅读 2021-06-04 08:49:04
    获取代码如下 Sub Worksheet_SelectionChange(ByVal Target As Range) [a5] = ActiveCell.Cells... [a7] = ActiveCell.Cells.Row '获取选中单元格的编号 数值 [a8] = ActiveCell.Cells.Column '获取选中单元.

    获取代码如下

     

    
    Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        [a5] = ActiveCell.Cells   '获取选中单元格内容
        [a6] = Target.Address(0, 0) '获取选中单元格名称(字符名称 例如  C5 )
        [a7] = ActiveCell.Cells.Row '获取选中单元格的行编号  数值
        [a8] = ActiveCell.Cells.Column '获取选中单元格的列编号  数值
        
    
    End Sub
    
    

     

    下面是复制来的内容

    excel vba单元格引用的三种方式
      vba单元格引用方法有几种,比如要引用A1单元格,
    写法可以这样的:range("A1")或者cells(1,1)或者[A1]。
     
    excel vba单元格引用写法一:

      Cells(1, 1) = "abc123"

    excel vba单元格引用写法二:

    1.Range("单个单元格")

      比如,Range("A1") = "abc123"
      注意:单元格地址要加双引号,而且双引号的输入必须是在半角状态下输入的,否则会出现错误。单元格地址不区分相对引用和绝对引用的,无论使用Range("A1")、Range("$A1")、Range("$A$1")还是Range("A$1"),都是引用同一个单元格。

    2. Range("单元格区域")
      在VBA数组中,经常遇到arr=Range("A1:D10")这种数组赋予方式,而里面出现了Range("单元格区域")的这种单元格区域引用。
      "A1:D10"代表一个单元格区域的引用,其中A1是该区域的左上角上面的单元格,而D10则是该区域右下角下面的单元格。

      又如:Range("B2:E6")(3).Select,这句代码的意思是选取B2:E6区域中的第三个单元格,即D2,而单元格的区域的读取一般是从左到右,然后再从上到下进行读取的,故该区域的前3个单元格分别是B2、C2、D2,而第3个单元格就是为D2。

    excel vba单元格引用写法三:[A1]

      比如, [A1] = "abc123"
      另外,[A1:D10].Select,表示选取A1:D10区域。
     

    by anlog 

    2021年6月4日

    展开全文
  • 删除当前行 Sub deleteCurrentLine() Selection.HomeKey Unit:=wdLine Selection.EndKey Unit:=wdLine, Extend:=wdExtend Selection.delete Unit:=wdCharacter, Count:=1 ...选中当前行 Sub selectCurr...

    如何定制?只需:

    1)在word通过下面的VBA创建宏。

    2)为创建的宏指定快捷键。

    使用到的VBA代码:

    删除当前行

    Sub deleteCurrentLine()
        Selection.HomeKey Unit:=wdLine
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
        Selection.delete Unit:=wdCharacter, Count:=1
    End Sub
    

    选中当前行

    Sub selectCurrentLine()
        Selection.HomeKey Unit:=wdLine
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    End Sub
    

     

    如何将宏指定为快捷键,请参考:https://zhidao.baidu.com/question/499060134892652604.html

    如何打开VBA窗口,请参考:https://support.office.com/zh-cn/article/%E5%88%9B%E5%BB%BA%E6%88%96%E8%BF%90%E8%A1%8C%E5%AE%8F-c6b99036-905c-49a6-818a-dfb98b7c3c9c

    [顺带一提]

    1.当前行/选中部分的格式去除:Ctrl+shift+N

    2.导航侧边栏快捷键设置:请参考https://zhidao.baidu.com/question/428567958624530892.html

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    具体步骤:

    1、创建宏

    1.1 视图——宏——查看宏

    1.2 在弹出窗口点击编辑

    1.3 输入代码,按ctrl+S保存,关闭窗口

    2 设置快捷键

    2.1 文件——选项——自定义功能区——键盘快捷方式自定义

     

    2.2 滑动命令,找到宏,配置快捷键

     

     

     

     

     

     

    展开全文
  • VBA之FormulaR1C1属性 :FormulaR1C1是公式输入方法  有中括号是相对于选定单元格的相对偏移量,"-"为向左或向上偏移,正数为右或下偏移。  无中括号为相对于选定单元格的绝对偏移量,没有负数  "R"和"C...
    Sub Macro1()
    
    '
    ' Macro1 Macro
    ' 宏由 cq 录制,时间: 2016/08/02
    '
        ActiveCell.Offset(0, 1).Range("A1").Select
        Selection.FormulaR1C1 = "1"
        ActiveCell.Offset(0, 1).Range("A1").Select
        Selection.FormulaR1C1 = "2"
        ActiveCell.Offset(0, 1).Range("A1").Select
        Selection.FormulaR1C1 = "3"
        ActiveCell.Offset(0, 1).Range("A1").Select

    End Sub


    解析:

    1、ActiveCell.Offset(0, 1)  表示当前单元格的右边第一个单元格
    2、Range("A1").Select 表示选择单元格或是单元格区域的第一个单元格,这里A1表示当前单元格,A2表示A1下方的一个单元格
    3、 VBA之FormulaR1C1属性 :FormulaR1C1是公式输入方法 
    有中括号是相对于选定单元格的相对偏移量,"-"为向左或向上偏移,正数为右或下偏移。 
    无中括号为相对于选定单元格的绝对偏移量,没有负数 
    "R"和"C"对应“行”和“列” 
    如:选定单元格为C8 
    R[-1]C[-1]为B7单元格,行列都-1,R[1]C[2]为E9单元格,行+1,列+2 
    R1C1代表A1单元格,R5C6代表F5单元格 


    例:C1单元格为"=A1+B1" 
    Range("C1").FormulaR1C1 = "=RC[-2]+RC[-1]" 


    例:C1单元格为"=A2+E3" 
    Range("C1").FormulaR1C1 = "=R[1]C[-2]+R[2]C[2]"


    补充绝对引用 
    例:C1单元格为"=$A$2+$E$3" 
    Range("C1").FormulaR1C1 = "=R2C1+R3C5"


    获取绝对单元格并且赋值(19行1列):

    Range("A19").Value = 1

    Cells(19, 1).Value = 1

    展开全文
  • 在这些方法和属性中,有两类枚举常量是经常要用到的,一类是移动、定位、选择的单位常量WdUnits,比如是按照、段落、单词、还是句子进行移动、定位。 以下就是在word中会用到的16种单位常量枚举: 名称 值 ...

    转自:http://www.exceloffice.net/archives/1598

    在word中经常需要操作特定位置的文本内容,定位文本内容就显得尤为重要。

    在word vba中Range Selection 对象有多种移动、定位、选择文本内容的方法和属性。

    在这些方法和属性中,有两类枚举常量是经常要用到的,一类是移动、定位、选择的单位常量WdUnits,比如是按照行、段落、单词、还是句子进行移动、定位。

    以下就是在word中会用到的16种单位常量枚举:

    名称说明常量的定义
    wdCell121个单元格Const wdCell=12
    wdCharacter11个字符Const wdCharacter=1
    wdCharacterFormatting13字符格式Const wdCharacterFormatting=13
    wdColumn9一列Const wdColumn=9
    wdItem16选中的项目Const wdItem=16
    wdLine5一行Const wdLine=5
    wdParagraph4一个段落Const wdParagraph=4
    wdParagraphFormatting14段落格式Const wdParagraphFormatting=14
    wdRow10一行Const wdRow=10
    wdScreen7一个屏幕Const wdScreen=7
    wdSection8一个节Const wdSection=8
    wdSentence3一句话Const wdSentence=3
    wdStory6全文Const wdStory=6
    wdTable15一个表格Const wdTable=15
    wdWindow11一个窗口Const wdWindow=11
    wdWord2一个单词Const wdWord=2

    另一类是移动、定位、选择的方向枚举常量WdMovementTypeWdCollapseDirection等。

    如下所示:

    名称说明常量的定义
    wdExtend1将当前的选择区域的结尾扩展到指定单位的结尾Const wdExtend=1
    wdMove0取消当前的选择区域,

     

    然后将光标移动到指定单位的结尾

    Const wdMove=0
    wdCollapseStart1取消当前的选择区域,然后将光标定位到开头Const wdCollapseStart=1
    wdCollapseEnd0取消当前的选择区域,然后将光标定位到结尾Const wdCollapseEnd=0

    1.使用Collapse方法快速取消选择内容区域,使光标不选中任何一个字符。

    Visual Basic

    Sub QQ1722187970() Const wdCollapseStart = 1 Const wdCollapseEnd = 0 With Word.Selection .Collapse (wdCollapseStart) '不带参数默认是wdCollapseStart .Collapse End With End Sub

    1

    2

    3

    4

    5

    6

    7

    8

    9

    Sub QQ1722187970()

        Const wdCollapseStart = 1

        Const wdCollapseEnd = 0

        With Word.Selection

            .Collapse (wdCollapseStart)

            '不带参数默认是wdCollapseStart

            .Collapse

        End With

    End Sub

    如果在word文档中选中了某段文本内容区域,则运行上述代码将取消选中文本内容区域,光标将定位在取消选择前的文本内容区域的起始位置。如果把参数改为wdCollapseEnd,则定位在结束位置。

    如果要折叠的区域是一个段落,则wdCollapseEnd后将定位在当前段落标记符之后的一个字符前,也就是下一个段落的开头。如果要折叠的区域是整个word文档的最后一个段落,则wdCollapseEnd后将定位到最后一个段落标记符前。

    可以用以下的代码进行验证:

    Visual Basic

    Sub QQ1722187970() Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oRng As Range Dim oP As Paragraph With oDoc Set oP = .Paragraphs(1) Set oRng = oP.Range Debug.Print oRng.Start, oRng.End oRng.Collapse 0 Debug.Print oRng.Start, oRng.End End With End Sub

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    Sub QQ1722187970()

        Dim oDoc As Document

        Set oDoc = Word.ActiveDocument

        Dim oRng As Range

        Dim oP As Paragraph

        With oDoc

            Set oP = .Paragraphs(1)

            Set oRng = oP.Range

            Debug.Print oRng.Start, oRng.End

            oRng.Collapse 0

             Debug.Print oRng.Start, oRng.End

        End With

    End Sub

    2.使用HomeKey和 EndKey方法使光标定位到指定单位内容的开头和结尾。

    Visual Basic

    Sub QQ1722187970() With Word.Selection .HomeKey wdLine Debug.Print .Start .EndKey wdLine Debug.Print .End End With End Sub

    1

    2

    3

    4

    5

    6

    7

    8

    Sub QQ1722187970()

        With Word.Selection

            .HomeKey wdLine

            Debug.Print .Start

            .EndKey wdLine

            Debug.Print .End

        End With

    End Sub

    上述代码将返回光标所在的内容区域的那一行的开始位置和那一行的结束位置。

    如果要从当前光标所在的位置开始扩展选择的话,可以添加第二个参数,代码如下:

    Visual Basic

    Sub QQ1722187970() With Word.Selection .HomeKey wdLine, wdExtend .EndKey wdLine, wdExtend End With End Sub

    1

    2

    3

    4

    5

    6

    Sub QQ1722187970()

        With Word.Selection

            .HomeKey wdLine, wdExtend

            .EndKey wdLine, wdExtend

        End With

    End Sub

    经过测试,HomeKey和 EndKey方法的第一个参数unit只能用wdLine和wdStory,其它单位都不能用。

    3.使用StartOfEndOf方法实现与HomeKey、EndKey类似的效果。

    4.使用Expand方法扩展当前的选择区域

    代码如下:

    Visual Basic

    Sub QQ1722187970() With Word.Selection .Expand wdParagraph End With End Sub

    1

    2

    3

    4

    5

    Sub QQ1722187970()

        With Word.Selection

            .Expand wdParagraph

        End With

    End Sub

    它与EndOf、EndKey、HomeKey等方法不同的是,它会自动当当前选择区域左右扩展到指定的单位区域内,比如当选中某个段落中的某些文本内容时,使用上述代码将自动选中当前选择区域所在的整段段落区域。

    5.使用Shrink方法不断地收缩选区

    Shrink方法可以将当前的选择区域按照整个文档(entire document),节( section),段落( paragraph),句子( sentence),单词( word),插入点( insertion point)的顺序不断地收缩当前的选择区域。

    6.使用Extend方法不断地扩展选区,或者按照指定的字符扩展选区。

    与Shrink方法类似的,当使用Extend方法不带参数时,可以按照单词(word),句子( sentence),段落( paragraph),节( section),整个文档( entire document)这样的顺序依次扩展当前的选择区域。

    当Extend方法带参数时,它可以带一个字符参数,表示将与当前选择区域的结尾位置开始向下寻找该字符,如果找到了就扩展当前的选区到该字符。这里要特别注意的就是,该参数只能是一个字符,如果超过一个字符,该方法将会无效。

    代码如下:

    Visual Basic

    Sub QQ1722187970() With Word.Selection .Extend "点" End With End Sub

    1

    2

    3

    4

    5

    Sub QQ1722187970()

        With Word.Selection

            .Extend "点"

        End With

    End Sub

    利用这个方法可以实现很多逐字符判断的程序。

    7.使用Move方法快速地前后移动任意的单位:

    使用Move方法有两个参数,一个是Unit参数,表示要移动的单位,另一个参数是Count,表示要移动的单位数量,如果是负数则往前移动,如果是正数则往后移动。

    比如如下的代码可以定位到中间的页面:

    Visual Basic

    Sub QQ1722187970() '当前位置插入一个分节符 Word.Selection.InsertBreak wdSectionBreakNextPage '继续插入一个分节符 Word.Selection.InsertBreak wdSectionBreakNextPage '定位到中间的页面 Word.Selection.Move wdSection, -1 End Sub

    1

    2

    3

    4

    5

    6

    7

    8

    Sub QQ1722187970()

        '当前位置插入一个分节符

        Word.Selection.InsertBreak wdSectionBreakNextPage

        '继续插入一个分节符

        Word.Selection.InsertBreak wdSectionBreakNextPage

        '定位到中间的页面

        Word.Selection.Move wdSection, -1

    End Sub

     

    其它相关文章推荐:

    展开全文
  • 参考:http://club.excelhome.net/thread-609182-1-1.htmlRows(ActiveCell.Row).Select------------------------------------效果:
  • C 之获取ListView当前选中的数据

    千次阅读 2018-11-11 10:08:43
    C 之获取ListView当前选中的数据
  • Word vba 获得当前表的序号

    千次阅读 2019-10-18 10:37:44
    Sub 获得当前表的序号() With Selection If .Information(wdWithInTable) = True Then If .Cells.Count = 1 Then StrAddr = "T" & Selection.Tables(1).Range.Start &...
  • 比如,一个word文档里面有多个表格,其中某个表格里面有字符串123。 我不知道字符串123所在的表格是第几个,但是想要选中这个表格,怎么实现? 请各位大佬指导一下,谢谢了。
  • excel vba 获取行号

    2014-05-07 11:58:26
    excel vba 获取行号
  • 如下的vba代码分别演示了如何设置某个段落的间距为1.5倍行距、单倍行距、多倍行距、固定行距、最小行距: 这里要特别注意的是,单倍行距就相当于原来的字体是什么高度,就是什么高度,没有增加额外的间距。 ...
  • 选中多个工作表 工作表对象的选择 worksheet.active 永远只有有1个激活的 worksheet.select [replace] 参数 [replace] 参数,默认是true,改成false可以不替代选中 或者用集合的选择 worksheets(array...
  • VBA 使用区域和当前区域

    千次阅读 2015-09-06 11:39:00
    VBA 选择使用区域 Sub Select_UsedRange() ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.UsedRange).Select End Sub rc = .range("a1").CurrentRegion.Rows.Count cc = .range("a1")....
  • VBA选中多行多列及多单元格

    千次阅读 2014-06-02 10:32:00
    选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select ...例:Range(“A1:B2”)....Range(“12:12”).Select ‘选中第12 Range(“B:B”).Select ‘选中第B列 Rang...
  • 总有些奇葩,不经任何学习,就使用excel文件,...这里给出vba模板,把当前表示换行的多个空格替换为单个换符。一次运行,会处理sheet所有的单元格中的多余空格。 如果需要针对选中区域的进行替换,请留言,改天再传。
  • VBA操作Excel之获取单元格区域

    千次阅读 2020-10-17 12:02:48
    VBA操作Excel之获取单元格区域一、VBA通过索引引用工作表二、VBA获取单元格区域三、VBA调用方法参数传值参考文档 一、VBA通过索引引用工作表 VBA打开工作簿后,通常一个工作簿有若干个工作表Sheet,访问其中一个工作...
  • 今天写项目时,想要实现一个获取listview选中行的数据(可以是全部,也可以是部分),发现了一个方法,具体代码如下: private void listView_come2_SelectionChanged(object sender, SelectionChangedEventArgs e)...
  • Excel VBA 处理图形图表详解
  • 高亮显示单元格行列 ...下面将通过VBA代码在Excel中实现改功能:包含高亮显示和列、高亮显示、高亮显示列: 高亮显示和列 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim ...
  • Excel VBA 中单元格选取

    万次阅读 2017-05-14 00:34:24
    例子:选取当前工作表中含有>12的数字所在的: 方法一:定位 “定位”可以在所选区域中定位大于12的数字所在的 单元格 ,若需要删除这些单元格所在的,定位后右键——删除整行即可(具体步骤此文不做详述)...
  • 说明 常用快捷键 alt+F11 打开VBA编辑窗口 F9 刷新 F2 进入编辑模式 ...其中row()表示单元格的行号,cell(“row”)表示选中单元格的行号,也就是说所有和选中单元格在同一的单元格都会得到True,其他都会为Fa...
  • VBA-选择工作表的方法

    千次阅读 2020-02-24 15:34:49
    VBA 中需要激活或者选择某个工作表时使用 Select 方法或 Activate 方法: Sub test1() Sheet1.Activate End Sub Sub test2() Sheet2.Select End Sub 虽然两个方法都可以选中工作表,但是具有如下的区别: ...
  • 要用VBA实现。 打开excel,按Alt+F11,双击左边的一个工作表,例如Sheel1,将下面代码粘贴到右边框中,在关掉弹出的这个右边的框,再点击右上角的X号,那么这个工作表就能实权现你的要求。 Private Sub Worksheet...
  • 一般情况请注意别先删除了选中行,又去使用。那就会导致找不到选中行。。。。。哥犯了这个错误。。。找了很长时间问题if (this.lstwlview.SelectedIndices.Count > 0) { if (MessageBox.Show("确认删除该条码?",...
  • vba选中的单元格到剪贴板If you want to share a smallpart of your Excel worksheet but don’t want to send an Excel file, you can copy part of the worksheet to the clipboard as a picture instead, which ...
  • ![图片说明](https://img-ask.csdn.net/upload/201811/27/1543308296_544961.png) 比如我选中第二个文本框,但我提前并不知道是第二个,所以item,range都不能用,那么我如何得到当前选中的文本框
  • 最近的项目中,用到了很多Excel的VBA宏功能,用户的新需求也有很多需要用VBA宏来实现。为满足业务需求, 自己搜索网上的相关资料,尝试不同的解决方法,最终解决了用户的需求,在此记录下来,做一个总结,也希望能...
  • Range("c4:f5").EntireColumn.Select '选取c4:f5所在的 End Sub '6 重置坐标下的单元格表示方法 Sub cc() Range("b2").Range("a1") = 100 End Sub '7 表示正在选取的单元格区域 Sub d2() ...
  • 功能:针对选定的Word内容遍历所有Visio绘图(一定是针对选定的内容区间哦,这样就不用担心操作越界,还可以选定单个操作,如果全文档就Ctrl+A全选后再运行就是了),通过动态适配当前Visio图所在当前页面编辑区...
  • fname = ActiveSheet.Name-------获取当前sheet页的名称 Sname = "" & fname & "" start_coll = ActiveCell.Column----------获取选中单元格的所在位置:列 start_roww = ActiveCell.Row--------...
  • 用法:选中你希望添加行号的所有,运行此VBA,即可在每行首添加“#001 ”字样的行号。对你选中,从1开始自动编号。你也可以把这段代码设置成一个按键,每次只要选中希望编号的,然后点一下按键运行一下即可...

空空如也

空空如也

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

vba当前选中的行