资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
Activecell 用法说明:自从本人开辟了一个Excel 百问百答后,目前访问量接近三万,贴子已超过 1000 贴,并有 21 人收藏,很多网友纷纷要求我提供一些资料性的东西,为满足广大网友的要求,先将关于 ActiveCell 部分的内容整理如下,希望大家喜欢。一、相关解释和帮助Window.ActiveCell 属性 返回一个 Range 对象,它代表活动窗口(最上方的窗口)或指定窗口中的活动单元格。如果窗口中没有显示工作表,此属性无效。只读。语法表达式.ActiveCell表达式 一个代表 Window 对象的变量。说明如果不指定对象识别符,此属性返回活动窗口中的活动单元格。请仔细区分活动单元格和选定区域。活动单元格为选定区域内部的一个单元格。而选定区域可以包含多个单元格,但只有一个单元格为活动单元格。下列表达式都是返回活动单元格,并且都是等效的。Visual Basic for Applications ActiveCellApplication.ActiveCellActiveWindow.ActiveCellApplication.ActiveWindow.ActiveCell 示例此示例在消息框中显示活动单元格的值。由于如果活动表不是工作表则 ActiveCell 属性无效,所以此示例使用 ActiveCell 属性之前先激活 Sheet1。Visual Basic for Applications Worksheets(Sheet1).ActivateMsgBox ActiveCell.Value 此示例更改活动单元格的字体格式设置。Visual Basic for Applications Worksheets(Sheet1).ActivateWith ActiveCell.Font.Bold = True.Italic = TrueEnd With 二、相关问答:1、activecell.row 是什么意思?sheets(记录).selectselection.end(xltoleft).selectrow_db=activecell.row 这行,这是什么意思,定义了 row_db等于的是什么?谢谢帮忙答:sheets(记录).select 选中记录工作表selection.end(xltoleft).select 相当于按下 Ctrl + 键,即选中当前选区最上面一行向左数第一个或最后一个非空单元格row_db=activecell.row 这里的 row_db 就是当前选中的单元格所在的行号,也就是在运行宏之前的选区的最上面一行的行号小 Fisher2、在 EXCEL 宏里面有段程序如下:ActiveCell.FormulaR1C1 请帮忙解释.答:当前活动单元格中的公式为.你自己录制一个宏,看一下就知道了.录制一个输入公式的宏.smallcolour 3、我现在是基于这个做个循环的句子单元格 C1=A1+B1 Sub Macro1() Range(C1).SelectActiveCell.FormulaR1C1 = =RC-2+RC-1End Sub这个地方 RC-2+RC-1是绝对的行列位置,现在我需要写个循环,RC-2的2 变成一个变量 i,怎么写呢?我把-2 换成 -&i&结果他变成了字符来处理了。谢谢指点了。答:Excel 有两种引用方式的,一种是 A1 引用,一种是 R1C1 引用你现在使用的是R1C1 引用要改引用方式可以在 工具 选项 常规 中取消 R1C1 引用样式看到你给我的留言了,但是还是不明白你的意思你是不是想在选中某个单元格的时候,引用附近的某个单元格呢?想把 2 换成 i 可以这样:ActiveCell.FormulaR1C1 = =RC- & i & +RC-1nxnd1986 三、实例收集Sub activeCell()If ActiveCell Is Nothing Then EndEnd SubSub offset()ActiveCell.Offset(RowOffset:=-2, ColumnOffset:=4).ActivateEnd SubSub MyMacro 将当前的单元格的文本前加上文字ActiveCell.Value = 无效值: & ActiveCell.ValueEnd SubSub fomula()ActiveCell.Formula = =SUM($G$12:$G$22)End SubSub MyMacro +-*/及运算ActiveCell.Value = (ActiveCell.Value * 2) - 1End SubSub MyMacro() 移动单元格ActiveCell.Value = Top cellActiveCell.Offset(1, 0) = Bottom cellEnd Sub Sub MyMacro() 移动到新的单元格 Change the top cell.ActiveCell.Value = Top cell Move down one cell.ActiveCell.Offset(1, 0).Select Now this changes the bottom cell.ActiveCell.Value = Bottom cellEnd SubSub selectRange()MsgBox ActiveCell.AddressEnd SubSub DownTen() 改变激活的单元格ActiveCell.Offset(10, 0).SelectEnd SubSub SelectUp()Range(ActiveCell, ActiveCell.End(xlUp).SelectEnd SubSub SelectToRight()Range(ActiveCell, ActiveCell.End(xlToRight).SelectEnd SubSub SelectToLeft()Range(ActiveCell, ActiveCell.End(xlToLeft).SelectEnd SubSub SelectCurrentRegion() 选择激活的区域ActiveCell.CurrentRegion.SelectEnd SubSub SelectActiveArea() 选择激活的特定区域Range(Range(A1), ActiveCell.SpecialCells(xlLastCell).SelectEnd SubSub ActivateNextBlankDown()说明:假定 A1:A8 都有数据,A9 没有数据,如果点击 A1:A8 的任何单元格,光标都会跳到第一个没有数据的那个单元格,即跳到 A9ActiveCell.Offset(1, 0).SelectDo While Not IsEmpty(ActiveCell)ActiveCell.Offset(1, 0).SelectLoopEnd SubSub 向右边的单元格交换数据()Dim temptemp = ActiveCell.ValueActiveCell.Value = ActiveCell.Offset(0, 1).ValueActiveCell.Offset(0, 1).Value = tempEnd SubSub SwapTextWithCellOnRight() 复制Dim CellContentCellContent = ActiveCell.ValueActiveCell.Offset(0, 1).Value = CellContentEnd SubSub MyMacro()If ActiveCell.Value 100 ThenActiveCell.Value = 100End IfEnd SubSub MyMacro() 使用 If 语句If ActiveCell.Value 1000 ThenActiveCell.Offset(0, 1).Value = ActiveCell.Value * 0.05ElseIf ActiveCell.Value 500 ThenActiveCell.Offset(0, 1).Value = ActiveCell.Value * 0.025ElseActiveCell.Offset(0, 1).Value = 5End IfEnd SubSub FormatAllCellsInColumn()假定 A1:A8 都有数据,A9 没有数据,如果点击 A1,再运行该程序就可以看到效果Do Until ActiveCell.Value = ActiveCell.Rows.EntireRow.SelectSelection.Interior.ColorIndex = 35Selection.Interior.Pattern = xlSolidActiveCell.Offset(2, 0).SelectLoopEnd SubSub FixText() 将首字母换成大写ActiveCell.Value = Application.WorksheetFunction.Proper(asdf)End SubSub DoWhileDemo() do while.loop 的示例Do While ActiveCell.value EmptyEnd SubSub SelectActiveColumn() 选择激活的单元格所在的列If IsEmpty(ActiveCell) Then Exit SubOn Error Resume NextIf IsEmpty(ActiveCell.Offset(-1, 0) Then Set TopCell = ActiveCell Else Set TopCell = ActiveCell.End(xlUp)If IsEmpty(ActiveCell.Offset(1, 0) Then Set BottomCell = ActiveCell Else Set BottomCell = ActiveCell.End(xlDown)Range(TopCell, BottomCell).SelectEnd SubSub SelectActiveRow() 选择激活的单元格所在的行If IsEmpty(ActiveCell) Then Exit SubOn Error Resume NextIf IsEmpty(ActiveCell.Offset(0, -1) Then Set LeftCell = ActiveCell Else Set LeftCell = ActiveCell.End(xlToLeft)If IsEmpty(ActiveCell.Offset(0, 1) Then Set RightCell = ActiveCell Else Set RightCell = ActiveCell.End(xlToRight)Range(LeftCell, RightCell).SelectEnd SubSub ActivateNextBlankDown() 选择本列的第一个空单元格ActiveCell.Offset(1, 0).SelectDo While Not IsEmpty(ActiveCell)ActiveCell.Offset(1, 0).SelectLoopEnd SubSub ActivateNextBlankToRight() 选择本行的第一个空单元格ActiveCell.Offset(0, 1).SelectDo While Not Is
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号