ExcelVBAActivecell用法.doc_第1页
ExcelVBAActivecell用法.doc_第2页
ExcelVBAActivecell用法.doc_第3页
ExcelVBAActivecell用法.doc_第4页
ExcelVBAActivecell用法.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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).Select ActiveCell.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 cell ActiveCell.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的任何单元格,光标都会跳到第一个没有数据的那个单元格,即跳到A9 ActiveCell.Offset(1, 0).Select Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select LoopEnd SubSub 向右边的单元格交换数据() Dim temp temp = ActiveCell.Value ActiveCell.Value = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(0, 1).Value = tempEnd Sub Sub SwapTextWithCellOnRight() 复制 Dim CellContent CellContent = ActiveCell.Value ActiveCell.Offset(0, 1).Value = CellContentEnd SubSub MyMacro() If ActiveCell.Value 100 Then ActiveCell.Value = 100 End IfEnd SubSub MyMacro() 使用If语句 If ActiveCell.Value 1000 Then ActiveCell.Offset(0, 1).Value = ActiveCell.Value * 0.05 ElseIf ActiveCell.Value 500 Then ActiveCell.Offset(0, 1).Value = ActiveCell.Value * 0.025 Else ActiveCell.Offset(0, 1).Value = 5 End IfEnd SubSub FormatAllCellsInColumn()假定A1:A8都有数据,A9没有数据,如果点击A1,再运行该程序就可以看到效果Do Until ActiveCell.Value = ActiveCell.Rows.EntireRow.Select Selection.Interior.ColorIndex = 35 Selection.Interior.Pattern = xlSolid ActiveCell.Offset(2, 0).SelectLoopEnd SubSub FixText() 将首字母换成大写 ActiveCell.Value = Application.WorksheetFunction.Proper(asdf)End SubSub DoWhileDemo() do while.loop的示例 Do While ActiveCell.value Empty ActiveCell.value = ActiveCell.value * 2 ActiveCell.offset(1, 0).Select LoopEnd SubSub DoLoopWhileDemo() do loop示例 Do ActiveCell.value = ActiveCell.value * 2 ActiveCell.offset(1, 0).Select Loop While ActiveCell.value EmptyEnd SubSub SelectActiveColumn() 选择激活的单元格所在的列 If IsEmpty(ActiveCell) Then Exit Sub On Error Resume Next If 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 Sub On Error Resume Next If 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).Select Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select LoopEnd SubSub ActivateNextBlankToRight() 选择本行的第一个空单元格 ActiveCell.Offset(0, 1).Select Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(0, 1).Select LoopEnd SubSub SelectFirstToLastInRow() 选择有数据的本行 Set LeftCell = Cells(ActiveCell.Row, 1) Set RightCell = Cells(ActiveCell.Row, 256) If IsEmpty(LeftCell) Then Set LeftCell = LeftCell.End(xlToRight) If IsEmpty(RightCell) Then Set RightCell = RightCell.End(xlToLeft) If LeftCell.Column = 256 And RightCell.Column = 1 Then ActiveCell.Select Else Range(LeftCell, RightCell).SelectEnd SubSub GoToMax() 找到本表中最大的值 Dim WorkRange As Range If TypeName(Selection) Range Then Exit Sub If Selection.Count = 1 Then Set WorkRange = Cells Else Set WorkRange = Selection End If MaxVal = Application.Max(WorkRange) On Error Resume Next WorkRange.Find(What:=MaxVal, _ After:=WorkRange.Range(A1), _ LookIn:=xlValues, _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False _ ).Select If Err 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论