发布网友 发布时间:2023-03-19 11:05
共1个回答
热心网友 时间:2023-11-16 22:37
为啥不能拷回来用
借用别人给的例子供你参考
建立一个带巨集的Excel档案,插入一个模组:
Sub test_hello()
MsgBox "hello"
End Sub
这个档案中的模组是被呼叫的物件。
再建立一个Excel档案,建立下面的巨集用来呼叫上面的物件。
Sub test_calling()
Dim xl_wb As Excel.Workbook
Dim xl_wb_name As String
With Application.FileDialog(msoFileDialogFilePicker) '使用档案对话方块选取要呼叫巨集所在的档案
.AllowMultiSelect = False
If .Show = -1Then
xl_wb_name =.SelectedItems(1)
End If
End With
Set xl_wb =Workbooks.Open(xl_wb_name) '非必须开启这个档案,但这样操作方便关闭这个档案
Application.Run "'" & xl_wb_name &"'!test_hello" '这里需要用分隔符单引号和连线符生成呼叫档案路径和巨集名
xl_wb.Close savechanges:=False
End Sub
开启另一个档案很容易,Workbooks.Open ("档名")就好了。
执行程式码,需要将被执行的程式码设成public,然后呼叫就好了
如下:
呼叫程式:
Sub openfile()
Workbooks.Open ("被呼叫档案.xls")
Workbooks("被呼叫档案.xls").Sheets("Sheet1").test
End Sub
被呼叫档案,Sheet1程式码:
Public Sub test()
Beep
End Sub
很简单,在巨集中新增一个巨集命令:RunMacro,后面的引数就选择另一个巨集的名称。
一般来说的例子
sub b()
msgbox "hi"
end sub
可以写成
sub a()
b
end sub
也可以写成
sub a()
call b
end sub
如果b有引数,
sub b(a)
msgbox a
end sub
可以写成
sub a()
b ("hi")
end sub
或者
sub a()
call b("hi")
end sub
a,b要在同一个文件里,或者被呼叫的b在normal模板里
如果是建个超连结,点选直接开启另一个Excel,那就用插入超连结,选择你要连结的Excel档案。
如果是公式等需要引用另一个Excel的资料,在公式里需要引用的地方,选择另一个Excel的单元格引用(可在开启的情况下,直接点选。在关闭后会自动新增档案路径)。
call 另一巨集名
比如
sub abc()
....
end sub
call abc
为啥不能拷回来用
借用别人给的例子供你参考
建立一个带巨集的Excel档案,插入一个模组:
Sub test_hello()
MsgBox ;hello;
End Sub
这个档案中的模组是被呼叫的物件。
再建立一个Excel档案,建立下面的巨集用来呼叫上面的物件。
Sub test_calling()
Dim xl_wb As Excel.Workbook
Dim xl_wb_name As String
With Application.FileDialog(msoFileDialogFilePicker) ;使用档案对话方块选取要呼叫巨集所在的档案
.AllowMultiSelect = False
If .Show = -1Then
xl_wb_name =.SelectedItems(1)
End If
End With
Set xl_wb =Workbooks.Open(xl_wb_name) ;非必须开启这个档案,但这样操作方便关闭这个档案
Application.Run ;;; xl_wb_name ;;!test_hello; ;这里需要用分隔符单引号和连线符生成呼叫档案路径和巨集名
xl_wb.Close savechanges:=False
End Sub
2个excel表格中相关联资料合并的步骤
首先开启2个excel表格,会发现这两个excel表格的A列是相同型别的,都是”百度ID号“,不同的是表格1有经验数量和财富值,而表格2有的是最近拿好经验红包的数量,现在就是需要把2个excel合并成一个表格。
现在表格1的D列写上需要汇入资料的列标题,或者直接从表格2中复制-贴上过来也行。
然后将滑鼠移动到D列的第二行,开启选单栏的”公式“选项,在公式的工具中找到”插入函式“并点选。
在插入函式视窗页面,在搜寻函式框中输入”vlookup"然后转到,在出现的结果函式中,点选vlookup函式,然后点确定。
弹出来的函式引数中,在第一个填写框vlookup_value中直接点选A2的”张一”。
在第二个填写框Table_array中全选表格2,表格2中A列和B列都包含了。
在第三个填写框col_index_num 中直接填写2,表示选择第2列的资料,然后第四个填写框Range_lookup中填写0,表示大致匹配,然后填写完毕之后点选确定。
这时D列的D2显示5,表示张一拿到5红包,因为刚才的函式公式是跟张一对应的,所以出现了张一的资料,如果想要其他人的资料时,可以把滑鼠放到D2选项框的右下角,等到出现一个“+”号时,双击滑鼠左键。
这时候所有的资料都出来了,成功将表格2的资料汇入表格1,合并成一个表格资料。
对经常需要变动的表格的单元格进行关联。
具体方法是:左键单击选中需要被关联的单元格——输入“=”——左键单击与之相关联的经常需要变动的表格的单元格——回车——完成了!
例如:想要使表1中F1单元格数值变化时表2、3中的F1也随之变化,就要先选中表2的F1单元格,输入=,左键单击表1中F1,回车,这样当表1中F1更改时,表二也会跟着变化!表3亦如此!
有点像绕口令啦!要是还不明白给我留言!
看你的截图的提示是因为你的工作表的名称重复导致的,你改一下表名称再复制应该就也可以了。