- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EXCEL中VBA基础应用
EXCEL中VBA基础应用??
本示例为设置密码窗口?(1)
If Application.InputBox(请输入密码:) = 1234 Then
[A1] = 1 密码正确时执行
Else: MsgBox 密码错误,即将退出! 此行与第2行共同设置密码
End If
本示例为设置密码窗口 (1)
X = MsgBox(是否真的要结帐?, vbYesNo)
If X = vbYes Then
Close
以下是将打印情况写入工作表的宏
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中,如何用程式控制某一单元格不可编辑修改?
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的其他列无需修改)。现在问题是如何根据表B中的新值,在表A中找到相应位置,并加以修改。比如表B中列出了10002的JOHN的身高和体重等值需要修改,如何在A中找到10002的相应位置(身高体重),并加以修改。
建議將表b複製至表a的sheet2,然後執行下列的宏即可
sub change()
dim dd as range
sheets(2).select
lastcell = range(a65536).end(xlup).row
for each dd in range(cells(2, 1), cells(lastcell, 1))
if dd = then exit sub
ff = dd.value
set c = sheets(1).columns(1).find(ff, lookat:=xlwhole)
if not c is nothing then
c.offset(0, 2) = dd.offset(0, 2)
c.offset(0, 3) = dd.offset(0, 3)
c
文档评论(0)