作者:乔山办公网日期:
返回目录:excel表格制作
1.是。
2.调用方法不来一样。同一个workbook里只要加sheet名就行了,好像都不需要定义成public的。
3.可以重名的
4.是不是当前sheet没有激活
5.触发click事件时才会执行源。在别的函数里不可以调用,如要调用建议单独定zd义一个函数,两边都调用它。
我不是高手,只能回答这些了。
1、代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect([A1:U50], Target) Is Nothing Then Exit Sub
Call Macros1
End Sub
2、如果是整抄个工作表,上述代码取消条件那句即可。如袭果是整个工作簿,则为工作簿的百事件,第一行为:度Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
3、如果打开文件就运行宏,也是工作簿事件:Private Sub Workbook_Open()
4、要麻知烦一些,将两个区域的数道据存入数组中进行比较要快一些
出现这种情况,一般有两种可能。1、从网上找的程序,没有把相应的过程或函数一起找来复。
2、对子过程(或函数)的定义不一致。
例如:子过程test1做在某个工制作表中,设定的是private属性。然后在模块中有一个全局程序test要调用其这个子过程,那zhidao么就会出现这种错误。更改方法:将这个子过程设置成全局的(public),并放在模块中,这样就可以解决了。
前面加个set
btw:用下zhidao面的方法直接赋值版,速度会快权的多.
Sub test()
Sheets("Sandout1207_H8s").Activate
With Sheets("sheet1")
For r1 = 4 To 22200 Step 4
r2 = r2 + 1
.Cells(r2, 1).Resize(1, 4).Value = Cells(r1, 2).Resize(1, 4).Value
Next
End With
End Sub