列无需修改)。现在问题是如何根据表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
本文地址:http://www.45fan.com/a/luyou/12334.html