为什么微软要这样设计阿?Excel VBA中怎样操作一个非Active Sheet啊
比如,想把一个Sheet中的某行拷贝到另一个Sheet中。
但Select时出错。
Select操作好像只能对ActiveSheet的,为什么微软要这样设计VBA啊?
因为每个Sheet的Active/DeActive中已经有很复杂的代码了,如果单单为了拷贝而反复Active这些Sheet,或者Active/DeActive执行其他Sheet的Active操作,在会让程序乱掉的。
总而言之,有没有不Active某个Sheet,就选择这个Sheet上某行的方法阿?
或者,不Active某个Sheet,就在这个Sheet上添加/删除指定的行的方法也可以阿。
谢谢啦!
[解决办法]
用Copy函数
sub test
thisworkbook(1).sheets(1).range( "A1:IV1 ").copy _
thisworkbook(1).sheets(2).range( "A1 ")
end sub
自已运行一下代码
功能是把本工作薄的表1里的第一行的数据复制到
表2里的第一行
[解决办法]
抱歉 刚才没看清需求。修改了一下代码。插入后再粘贴。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rows(3).Copy
Sheets( "Sheet2 ").Rows( "2 ").Insert Shift:=xlDown
ActiveSheet.Paste Destination:=Worksheets( "Sheet2 ").Rows(2)
End Sub