WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

各种Excel VBA命令大全(12)

更新时间:2012-03-19 18:00 作者:佚名点击:

UserForm3.Show '激活窗体
End Sub

'以下为窗体中点击各按钮运行的宏,写入窗体内
Public pos As Integer '声明变量pos

'战友确定按钮语句
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False '此句和最后一句旨在不显

示宏的执行过程
'On Error GoTo ErrorHandle '可以不要
'ErrorHandle: '可以不要
'If Err.Number = 13 Then '可以不要
'Exit Sub '可以不要
'End If '可以不要
Call writeToWorkSheet '执行宏writetoworksheet
UserForm3.Hide '退出窗体,继续按钮少此句,退出按钮执行此句
Unload UserForm3 '退出窗体,继续按钮少此句,退出按钮执行此句
Call 批量打印 '[此处到接顺序2]
[L2] = "" '[到此处结束]
Sheets("打印信息").Select
Application.ScreenUpdating = True
End Sub

'退出按钮语句
Private Sub CommandButton2_Click()
UserForm3.Hide
Unload UserForm3
End Sub

'将窗体内的文本框中的数据写进工作表的单元格
Private Sub writeToWorkSheet()
ActiveSheet.Range("k2") = TextBox1.Value '将文字框内容写进k列
ActiveSheet.Range("l2") = TextBox2.Value '将文字框内容写进l列
TextBox1.Value = "" '清空文字框内容
TextBox2.Value = "" '清空文字框内容
Worksheets("打印信息").Range("a2").Value = 1 '给指定表的单元格写入

数据
Worksheets("打印信息").Range("B3:E113").Value = "" '清空指定表的单元

格数据
End Sub

'以下为根据条件打印的宏
Sub 打印() '部门明细查询及批星打印
Application.ScreenUpdating = False '关闭屏幕更新
If Cells(1, 4) = "" And Cells(1, 5) = "" Then '打印条件Cells(3,

13) = 1 And
' Application.ActivePrinter = "//zdserver2/HP LaserJet 5000 PCL

6 在 Ne00:" ' '指定打印机
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

'设置默认打印机的打印信息,其中Copies:=myPrint为打印份数
Else
Call 打印信息 '打倒为假时执行
End If
Application.ScreenUpdating = True '关闭屏幕更新
End Sub

'以下的循环过程,也用于批量打印,Z的值可以是Z=1 TO 5(1到5),也可是单元格的内


Sub 批量打印()
For Z = Cells(1, 11) To Cells(1, 12) '变量X的值从打印起始号K1到结束

号L1之间逐渐递增
Cells(1, 13) = Z 'M1的值等于变量X
Next Z
End Sub

'以下是将打印情况写入工作表的宏
Sub 打印信息()
Application.ScreenUpdating = False '关闭屏幕更新
Dim Y '声明变量
Y = ActiveSheet.Name '判定活动工作表名称
Sheets("打印信息").Select
X = 3 '从第3行开始
Do While Not (IsEmpty(Cells(X, 2).Value)) '判断第1列的最后一行(

即空行的上一行)
X = X + 1 '在最后一行加一行即为空行
Loop
Cells(X, 2) = Cells(2, 1)
Cells(X, 3) = Sheets(Y).Cells(4, 3)
Cells(2, 1) = Cells(2, 1) + 1
Cells(X, 4) = Sheets(Y).Cells(1, 4)
Cells(X, 5) = Sheets(Y).Cells(1, 5)
[c1] = Y
Sheets(Y).Select '返回上一次打开的工作表
Application.ScreenUpdating = True '打开屏幕更新
End Sub

将文件保存为以某一单元格中的值为文件名的宏怎么写
假设你要以Sheet1的A1单元格中的值为文件名保存,则应用命令:
ActiveWorkbook.SaveCopyAs Str(Range("Sheet1!A1")) + ".xls"

在Excel中,如何用程式控制某一单元格不可编辑修改?thanks!!!
Private Sub Workbook_Open()
ProtectSpecialRange ("A1")
End Sub

Sub ProtectSpecialRange(RangeAddress As String)
On Error Resume Next
With Sheet1
.Cells.Locked = False
.Range(RangeAddress).Locked = True
.Protection.AllowEditRanges.Add Title:="区域1", Range:=Range

(RangeAddress) _
, Password:="pass"
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
End Sub

对工作表编程,有时要判断工作表的记录总数,VBA里如何实现?
x=1
do while not (isempty(sheets("").cells(x,1).value)
x=x+1
loop

在VBA中等同于EXCELE中的求和函数-sum()-的函数是什么?
Application.WorksheetFunction.Sum()

自定义菜单有三个菜单项,要求手工顺序执行。为防止误操作,执行完第一个菜单项

后使其变灰(禁用),如何写?
Rowen
令其 Enable 属性同步与某个工具按钮是较为方便的。

如何进行表格更新?
是这样的,比如我已经有了一个原始表格A,这时有人通知我A表有错误,须加以修改

,并给我一个表B,表B列出了须修改的参数(注意B的列数少于A的列数,因A的其他
顶一下
(3)
100%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容