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

各种Excel VBA命令大全(13)

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


列无需修改)。现在问题是如何根据表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.offset(0, 5) = dd.offset(0, 4)
end if
next
end sub

自定义菜单
把建立和删除自定义菜单的代码分别写在Workbook_open和Workbook_beforeclosed

的事件中。

应该用VBA,工作薄代码中有workbook-open()过程,在该过程中写入
with activeworkbook
.sheets("表2").active
end with

VBA实现向锁定工作表中插入行,并自动复制上面行中指定列的函数
Option Explicit
Public Const strPass = "123" 123是口令
Sub 行上再插入一行()
ActiveSheet.Unprotect password:=strPass
Selection.Copy
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,

SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Protect password:=strPass
End Sub

如何使不出现每次关闭XLS文件时出现的:
“XXX.xls文件已被修改,是否可在其修改后的内容?”字样??
可以在工作表关闭之前进行手工保存工作
  ThisWorkbook.save

如何实现动态时间显示?
sub mytime
range("a1")=now()
Application.OnTime Now + Timevalue("00:00:01"), "mytime"
end sub

用 vba 判断指定 excel 文件是否打开?
For Each w In Workbooks
If w.Name XXX Then
…………
End If
Next w

vba怎么调用excel自带的函数?比如vlookup?
Application.WorksheetFunction.f(x)
f(x)是你想使用的工作表函数
但是用内部函数时引用单元格会出错,怎么办?
把你要引用的单元格改成VBA认可格式(类型)。如在Excel中的“F7:F12”应改为

“Range("F7:F12")”等。

VBA中如何关闭,保存和退出Excel?
Workbooks("你的工作簿").Save。

下表举例说明了使用 Rows 和 Columns 属性的一些行和列的引用。
引用 含义
Rows(1) 第一行
Rows 工作表上所有的行
Columns(1) 第一列
Columns("A") 第一列
Columns 工作表上所有的列
若要同时处理若干行或列,请创建一个对象变量并使用 Union 方法,将对 Rows 属

性或 Columns 属性的多个调用组合起来。下例将活动工作簿中第一张工作表上的第

一行、第三行和第五行的字体设置为加粗。
Sub SeveralRows()
Worksheets("Sheet1").Activate
Dim myUnion As Range
Set myUnion = Union(Rows(1), Rows(3), Rows(5))
myUnion.Font.Bold = True
End Sub

如果只是你说的只连接几个储存格那用简单的方法
Range("A1").Formula = Application.Evaluate("=[Book2.xls]Sheet1!A1")

Range("A1").Formula = "=[Book2.xls]Sheet1!A1"

请问在vba如何呼叫已定义的名称范围

我在a1:b100插入名称∶myrange
请问我如何用vba选取此范围
Range("myrange").Select

如何访问没有打开的EXCEL文件?
Sub AlternativeImport()
Dim xlapp As Excel.Application
Dim wbSource As Excel.Workbook
Set xlapp = New Excel.Application
xlapp.EnableEvents = False
Set wbSource = xlapp.Workbooks.Open("C:/test/Book2.xls")
Range("A1:A10").Value = wbSource.Sheets("Sheet1").Range

("A1:A10").Value
wbSource.Close False
xlapp.Quit
End Sub

怎样使VBAprject工程不可查看?(不用密码)
用可编辑十六进制文件的软件工具(如WinHex等)打开Excel.xls,在文件的尾部,查

找ID="{00000000-0000-0000-0000-000000000000}"(有工程锁定密码时),或

ID="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"(没有工程锁定密码时),修改其中

的任意1位后,保存,即可达到目的.当查看工程是会出现“工程不可查看”的提示.
注意:修改前,一定要备份原文件,以防不测

如何用VBA控制报表的格式(左边距,纸张大小,打印第几页等)
打印第几页控制:ActiveWindow.SelectedSheets.PrintOut From:=x, To:=y
ActiveSheet.PageSetup.LeftMargin= 左边距
ActiveSheet.PageSetup..PaperSize = 纸张大小

如何使VBA自动消除使用COPY复制后产生的虚线框?
Application.CutCopyMode = False


顶一下
(3)
100%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容