EXCEL VBA:ActiveWindow.ScrollRow ActiveWindow.ScrollColumn
- 格式:doc
- 大小:25.00 KB
- 文档页数:2
窗口(Window 对象)基本操作应用示例Window 对象代表一个窗口,约有48个属性和14个方法,能对窗口特性进行设置和操作。
Window 对象是Windows 集合中的成员,对于Application 对象来说,Windows 集合包含该应用程序中的所有窗口;对于Workbook 对象来说,Windows 集合只包含指定工作簿中的窗口。
下面介绍一些示例,以演示和说明Window 对象及其属性和方法的运用。
示例 02-01:激活窗口(Activate 方法)Sub SelectWindow()Dim iWin As Long i As Long bWinMsgBox "依次切换已打开的窗口"iWin = Windows.CountMsgBox “您已打开的窗口数量为:” & iWinFor i = 1 To iWinWindows(i).ActivatebWin = MsgBox("您激活了第" & i & "个窗口,还要继续吗?" vbYesNo)If bWin = vbNo Then Exit SubNext iEnd Sub示例02-02:窗口状态(WindowState属性)[示例02-02-01]Sub WindowStateTest()MsgBox "当前活动工作簿窗口将最小化"Windows(1).WindowState = xlMinimizedMsgBox "当前活动工作簿窗口将恢复正常"Windows(1).WindowState = xlNormalMsgBox "当前活动工作簿窗口将最大化"Windows(1).WindowState = xlMaximizedEnd Sub示例说明:使用WindowState属性可以返回或者设置窗口的状态。
VBA实现Excel图表自动更新与动态展示Excel是一款功能强大的电子表格软件,借助其图表功能,用户可以直观地展示数据,并随着数据的更新而自动更新图表。
在使用Excel图表时,VBA(Visual Basic for Applications)可以大大提升用户的工作效率,实现图表的自动更新与动态展示。
本文将介绍如何使用VBA编写代码,实现Excel图表的自动更新与动态展示。
首先,我们需要在Excel中创建一个图表,用于展示相应的数据。
接下来,我们将使用VBA编写代码,实现图表的自动更新。
1. 打开VBA编辑器在Excel中按下“ALT + F11”,即可打开VBA编辑器。
2. 创建宏在VBA编辑器的窗口中,可以看到“项目资源管理器”和“属性窗口”。
在“项目资源管理器”中,双击“这台电脑”或者右键点击“这台电脑”,选择“插入”-“模块”,即可创建一个新的模块。
在模块中,编写以下代码:```vbaSub UpdateChart()Dim chart As ChartObjectDim dataRange As RangeSet chart = Sheets("Sheet1").ChartObjects("Chart 1")Set dataRange = Sheets("Sheet1").Range("A1:B10") '这里的数据范围需根据实际情况进行调整chart.Chart.SetSourceData dataRangeEnd Sub```上述代码中,我们使用了“UpdateChart”作为宏的名称。
首先,我们定义了两个变量,一个是“chart”,用于存储图表对象;另一个是“dataRange”,用于存储数据范围。
然后,我们使用“Set”关键字将图表对象和数据范围分别赋值给这两个变量。
最后,使用“SetSourceData”方法将数据范围应用到图表中。
经典ExcelVBA代码Application(Excel程序)篇Application.EnableEvents= True/ False ’启用/禁用所有事件Application.DisplayAlerts=True/False ’显示/关闭警告框提示框Application.ScreenUpdating= True/False ’显示/关闭屏幕刷新Application.StatusBar = "软件报专用" ’在地址栏中显示文本,标题栏用Caption属性Application.Cursor = xlIBeam ‘设置光标形状为Ⅰ字形,xlWait为沙漏(等待)形,xlNormal为正常Application.WindowState = xlMinimized ‘窗口最小化,xlMaximized最大化,xlNormal为正常Application.ActivateMicrosoftApp xlMicrosoftWord ’开启Word应用程序Application.TemplatesPath ‘获取工作簿模板的位置Application.CalculateFull ’重新计算所有打开的工作簿中的数据Application.RecentFiles.Maximum = 2 ’将最近使用的文档列表数设为2Application.RecentFiles(3).Open ’打开最近打开的文档中的第3个文档Application.AutoCorrect.AddReplacement "sweek", "软件报" ’自动将输入的"sweek"更正为"软件报"Application.Dialogs(xlDialogPrint).Show ‘显示打印文档的对话框Application.OnTime Now + TimeValue("00:00:45"), "process" ’45分钟后执行指定过程Application.OnTime TimeValue("14:00:00"), " process " ’下午2点执行指定过程Application.OnTime EarliestTime:=TimeValue("14:00:00"), _ Procedure:="process", Schedule:=False ’取消指定时间的过程的执行Application.CutCopyMode = False 退出复制/剪切模式后,在程序运行时所进行的复制或剪切操作不会在原单元格区域留下流动的虚框线。
EXCEL VBA:ActiveWindow.ScrollRowActiveWindow.ScrollColumn本文标签:ActiveWindow , EXCEL , ScrollColumn , ScrollRow , VBA关于Excel窗口的滚动,在VBA代码中很少介绍。
本教程,专为你介绍如何通过VBA代码来滚动Excel的窗口。
滚动窗口的方式有两种,即ScrollColumn滚动列和ScrollRow滚动行。
先看相应代码后再给大家做解释:如下的两种代码,均在VBA环境下使用。
①滚动行Worksheets("Sheet1").ActivateActiveWindow.ScrollRow = 14代码解释:上述代码的功能是,先激活Sheet1,将其作为活动工作表,然后,自动拖动垂直滚动条,将第14行拖到第一行的位置,即第一行至第13行将被拖到窗口中的上面,并看不到,而第14行则显示在可视窗口的最上面(在可视范围的第一行位置)。
与之相关的知识:在Excel中,ScrollRow 属性的功能为返回或设置指定窗格或窗口最上面的行号。
Long 类型,可读写。
ScrollRow - ScrollRow 属性说明如果指定窗口处于拆分状态,Window 对象的 ScrollRow 属性表示左上方的窗格。
如果某些窗格处于冻结状态,则 Window 对象的 ScrollRow 属性将不包括冻结的区域。
②滚动列Worksheets("Sheet2").ActivateActiveWindow.ScrollColumn =6代码解释:上述代码的功能是,先激活Sheet2,将其作为活动工作表,然后,自动拖动水平滚动条,将第6列拖到第一列的位置,即第一列至第5列将被拖到窗口中的左边,并看不到,而第6列则显示在可视窗口的最左边(在可视范围的第一列位置)。
与此相关的知识:Window.ScrollColumn 属性返回或设置指定窗格或窗口最左边的列号。
excel合并多个工作簿中的工作表在同一文件夹中有多个工作簿,其中有一个用于汇总的工作簿,要求将除该汇总工作簿外的其它工作簿中的指定工作表的数据汇总到该汇总工作簿中。
(这个最好用)代码如下:Sub UnionWorksheets()Application.ScreenUpdating = FalseDim lj As StringDim dirname As StringDim nm As Stringlj = ActiveWorkbook.Pathnm = dirname = Dir(lj & "\*.xls*")Cells.ClearDo While dirname <> ""If dirname <> nm ThenWorkbooks.Open Filename:=lj & "\" & dirnameWorkbooks(nm).Activate'复制新打开工作簿的第一个工作表的已用区域到当前工作表Workbooks(dirname).Sheets(1).UsedRange.Copy _Range("A65536").End(xlUp).Offset(1, 0)'sheets(1) 中的1为工作表顺序号Workbooks(dirname).Close FalseEnd Ifdirname = DirLoopEnd Sub可以将指定目录下的excel工作簿中的指定表!汇总到一起!例如!将book1.xlsx中的sheet1。
book2.xlsx中的sheet1。
book3.xlsx中的sheet1。
book4.xlsx中的sheet1。
~~~~~~~~~~合并到book汇总.xlsx中的sheet1中如果你的建议是复制~~粘贴~就算了!这个我知道如何使用!如果提供宏的朋友可以加入详细说明,以便我学习,我将酌情加分!谢谢!最佳答案Sub Macro1()Dim lj$, dirname$, nm$, wb As Workbook, sh As Worksheet, a, bSet wb = ThisWorkbooka = Array(0, 2, 1)b = Array(0, -1, 0)lj = ThisWorkbook.Pathnm = dirname = Dir(lj & "\*.xls")Application.ScreenUpdating = FalseFor Each sh In SheetsedRange.Offset(3, 0).ClearNextDo While dirname <> ""If dirname <> nm ThenWith GetObject(lj & "\" & dirname)For i = 1 To 2If IsSheetEmpty = IsEmpty(.Sheets(i).UsedRange) Then _.Sheets(i).UsedRange.Offset(3, 0).Copy wb.Sheets(.Sheets(i).Name).Cells(65536, a(i)).End(xlUp).Offset(1, b(i))Next.Close FalseEnd WithEnd Ifdirname = DirLoopDim UserSheet As WorksheetSet UserSheet = ActiveSheetDim TopRow As LongDim LeftCol As IntegerTopRow = ActiveWindow.ScrollRowLeftCol = ActiveWindow.ScrollColumnDim LastRow As Long, R As LongLastRow = edRange.Rows.Count + edRange.Row - 1Application.ScreenUpdating = FalseFor R = LastRow To 1 Step -1If WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).DeleteEnd IfNext RUserSheet.ActivateActiveWindow.ScrollRow = TopRowActiveWindow.ScrollColumn = LeftColApplication.ScreenUpdating = TrueMsgBox "工作表合并已经完毕", "0", "提示"End SubSub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As StringApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & "\" & "*.xls")AWbName = Num = 0Do While MyName <> ""If MyName <> AWbName ThenSet Wb = Workbooks.Open(MyPath & "\" & MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)NextWbN = WbN & Chr(13) & Wb.Close FalseEnd WithEnd IfMyName = DirLoopRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & Num & "个工作薄下的全部工作表。
Excel VBA编程滚动条滚动条是放置在窗体的独立控件。
它看上去与列表框或组合框的下拉部分中的滚动条类似。
然而,与它们不同的是,滚动条控件是独立的,并不是任何其他控件的组成部分。
在VBA工具箱中提供一种滚动条。
要创建水平或垂直滚动条,将已放置在窗体中的滚动条进行水平或垂直拖动就可以创建水平或垂直的滚动条。
多数情况下,滚动条控件与文本框、列表框等一起使用,通过它可以查看列表选项或数据,还可以进行数值输入。
借助最大值和最小值的设置,并配合滚动条中滚动块的位置,就能读取用户指定的数据。
1.滚动条常用属性滚动条控件常用的属性如下:●Value属性在滚动条控件中,滚动块所处的位置可以用数值代表。
Value属性值即为表示滚动块在滚动条中位置的数值。
对于水平滚动条,当滚动块处于最左边时,Value取最小值;而当滚动块处于最顶端时,Value取最小值。
反之,则Value的值为最大值。
在中间的各个位置,Value值与位置是按比例来设定的。
●Max属性用于确定滚动条在滚动块位于最底端(垂直滚动条)或最右边(水平滚动条)时可表现的最大值。
该属性可以指定-32768到32767之间的一个整数。
缺省值为32767。
●Min属性用于确定滚动条在滚动块位于最顶端(垂直滚动条)或最左边(水平滚动条)时可表现的最小值。
该属性可以指定-32768到32767之间的一个整数。
缺省值为0。
●LargeChange属性设定单击滚动条中间的滚动块时,每次增减的数值。
●SmallChange属性设定单击滚动条中的箭头时,每次增减的数值。
2.滚动条常用事件滚动条控件常用的事件主要包含两种,其功能如下:●Change事件当单击滚动条的箭头或两箭头之间的区域引起Value属性值变化时而发生的事件。
它与Scroll事件一样都是最常用来实现指定功能的事件。
●Scroll事件移动滚动块时发生,而单击滚动条中的箭头或滚动条时不发生。
例如,使用滚动条来调节数值大小,如图所示。
基于Excel VBA实现作业计划表自动刷新及滚屏的应用张士东【摘要】针对工务系统作业项目数量较多,很难掌握作业计划的状态和可视化效果差等特点,通过调用公式、编写VBA宏代码和设置控件,构建功能模块,开发了时间自动刷新、日报动态变化、自动排序及自动滚屏等功能,验证表明:本功能能够提高工作效率和降低工作难度,取得良好的效果.【期刊名称】《黑龙江交通科技》【年(卷),期】2018(041)003【总页数】2页(P155-156)【关键词】ExcelVBA;刷新;排序;滚屏【作者】张士东【作者单位】中国铁路沈阳局集团有限公司赤峰工务段,内蒙古赤峰 024000【正文语种】中文【中图分类】U212.331 引言Visual Basic for Applications ( VBA)是以在Visual Basic为基础的一种宏语言,主要用来扩展Windows的应用程序功能。
微软Office软件在日常工作中广泛使用,利用VBA 宏语言来实现Excel 自动化技术已得到了人们的重视。
考虑到国内Excel 系统应用具有极其庞大的客户群,而大部分用户均为业余程序员,他们仅需要解决面临的专业问题,而不一定去开发单纯的应用软件,因此,选择VBA 非常适合,因为它兼具了易用性和高效性。
2 设计原理该项目的目的主要是使得作业计划表达到可视化的目的,将在30 min内开始的作业项目,已经开始的作业项目和结束的作业项目分三个颜色自动显示。
设计思路通过调用公式、编写VBA宏代码和设置控件,构建功能模块,开发了时间自动刷新、日报动态变化、自动排序及自动滚屏等功能。
本研究主要采用的方法是应用Excel VBA的宏代码实现时间自动刷新和自动滚屏功能的实现,调用函数公式和条件格式实现作业计划项目的动态变化和作业项目的状态排序,设置控件控制滚屏和停止滚屏的功能。
原理是通过Excel 函数进行时间计算和按列查找。
3 功能实现3.1 时间自动刷新在Excel 里展示的主要是静态的信息,在单元格中输入“=now()”公式,显示格式设置为“hh:mm:ss”时,时间是静态的显示在单元格中,如果对Excel 工作簿进行编辑时,时间才将会更新。
Excel VBA编程滚动条滚动条是放置在窗体的独立控件。
它看上去与列表框或组合框的下拉部分中的滚动条类似。
然而,与它们不同的是,滚动条控件是独立的,并不是任何其他控件的组成部分。
在VBA工具箱中提供一种滚动条。
要创建水平或垂直滚动条,将已放置在窗体中的滚动条进行水平或垂直拖动就可以创建水平或垂直的滚动条。
多数情况下,滚动条控件与文本框、列表框等一起使用,通过它可以查看列表选项或数据,还可以进行数值输入。
借助最大值和最小值的设置,并配合滚动条中滚动块的位置,就能读取用户指定的数据。
1.滚动条常用属性滚动条控件常用的属性如下:●Value属性在滚动条控件中,滚动块所处的位置可以用数值代表。
Value属性值即为表示滚动块在滚动条中位置的数值。
对于水平滚动条,当滚动块处于最左边时,Value取最小值;而当滚动块处于最顶端时,Value取最小值。
反之,则Value的值为最大值。
在中间的各个位置,Value值与位置是按比例来设定的。
●Max属性用于确定滚动条在滚动块位于最底端(垂直滚动条)或最右边(水平滚动条)时可表现的最大值。
该属性可以指定-32768到32767之间的一个整数。
缺省值为32767。
●Min属性用于确定滚动条在滚动块位于最顶端(垂直滚动条)或最左边(水平滚动条)时可表现的最小值。
该属性可以指定-32768到32767之间的一个整数。
缺省值为0。
●LargeChange属性设定单击滚动条中间的滚动块时,每次增减的数值。
●SmallChange属性设定单击滚动条中的箭头时,每次增减的数值。
2.滚动条常用事件滚动条控件常用的事件主要包含两种,其功能如下:●Change事件当单击滚动条的箭头或两箭头之间的区域引起Value属性值变化时而发生的事件。
它与Scroll事件一样都是最常用来实现指定功能的事件。
●Scroll事件移动滚动块时发生,而单击滚动条中的箭头或滚动条时不发生。
例如,使用滚动条来调节数值大小,如图所示。
vba中activeworkbook的用法在VBA中,ActiveWorkbook是一個非常有用的對象,它代表目前正在使用的工作簿。
在這個回答中,我將詳細介紹ActiveWorkbook的一些常用用法和功能,以幫助您更好地理解和應用它。
1. 引用ActiveWorkbook在VBA中,我們可以使用ActiveWorkbook來引用目前正在使用的工作簿。
以下是一些常見的方式:- 使用預設對象:可以使用`ActiveWorkbook`來引用目前正在使用的工作簿。
例如,`ActiveWorkbook.Save`將保存目前正在使用的工作簿。
- 使用變數:也可以將ActiveWorkbook存入一個變數中,以方便後續使用。
例如,`Dim wb As Workbook: Set wb = ActiveWorkbook`,現在我們可以使用`wb.Save`進行保存操作。
2. 工作簿的屬性和方法ActiveWorkbook對象具有許多有用的屬性和方法,以下是其中的一些:- 屬性:- `Name`:返回工作簿的名稱。
- `Path`:返回工作簿的路徑。
- `FullName`:返回工作簿的完整路徑和名稱。
- `Sheets`:返回工作簿的所有工作表的集合。
- `ActiveSheet`:返回工作簿中當前激活的工作表。
- `Saved`:返回一個布林值,表示工作簿是否已保存。
- `ReadOnly`:返回一個布林值,表示工作簿是否為只讀。
- `Windows`:返回表示工作簿打開的所有視窗的Windows集合。
- 方法:- `Save`:保存工作簿。
- `SaveAs`:另存工作簿為指定的名稱和格式。
- `Close`:關閉工作簿。
- `PrintOut`:將工作簿列印到預設印表機。
- `Activate`:激活工作簿。
- `RefreshAll`:刷新工作簿中所有的連接。
- `Protect`:保護工作簿,預設情況下保護結構和窗口。
EXCEL VBA:ActiveWindow.ScrollRow
ActiveWindow.ScrollColumn
本文标签:ActiveWindow , EXCEL , ScrollColumn , ScrollRow , VBA
关于Excel窗口的滚动,在VBA代码中很少介绍。
本教程,专为你介绍如何通过VBA代码来滚动Excel的窗口。
滚动窗口的方式有两种,即ScrollColumn滚动列和ScrollRow滚动行。
先看相应代码后再给大家做解释:
如下的两种代码,均在VBA环境下使用。
①滚动行
Worksheets("Sheet1").Activate
ActiveWindow.ScrollRow = 14
代码解释:上述代码的功能是,先激活Sheet1,将其作为活动工作表,然后,自动拖动垂直滚动条,将第14行拖到第一行的位置,即第一行至第13行将被拖到窗口中的上面,并看不到,而第14行则显示在可视窗口的最上面(在可视范围的第一行位置)。
与之相关的知识:
在Excel中,ScrollRow 属性的功能为返回或设置指定窗格或窗口最上面的行号。
Long 类型,可读写。
ScrollRow - ScrollRow 属性说明
如果指定窗口处于拆分状态,Window 对象的 ScrollRow 属性表示左上方的窗格。
如果某些窗格处于冻结状态,则 Window 对象的 ScrollRow 属性将不包括冻结的区域。
②滚动列
Worksheets("Sheet2").Activate
ActiveWindow.ScrollColumn =6
代码解释:上述代码的功能是,先激活Sheet2,将其作为活动工作表,然后,自动拖动水平滚动条,将第6列拖到第一列的位置,即第一列至第5列将被拖到窗口中的左边,并看不到,而第6列则显示在可视窗口的最左边(在可视范围的第一列位置)。
与此相关的知识:
Window.ScrollColumn 属性
返回或设置指定窗格或窗口最左边的列号。
Long 型,可读写。
语法
表达式.ScrollColumn
表达式一个代表 Window 对象的变量。
说明:如果窗口处于拆分状态,则 Window 对象的 ScrollColumn 属性表示左上方的窗格。
如果某些窗格处于冻结状态,则 Window 对象的 ScrollColumn 属性将不包括冻结的区域。
转载请保留链接: EXCEL VBA:ActiveWindow.ScrollRow ActiveWindow.ScrollColumn。