我录制的宏代码:
Rows("1:5").Select
Selection.Copy
Sheets("Sheet3").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
现在我想改用我自己的sheet对象来进行插入:
Rows("1:5").Select
Selection.Copy
gb_XlsWSheet.Rows("1:1").Select
gb_XlsWSheet.Activate
gb_XlsWSheet.Range("1:1").Insert Shift:=xlDown
省略部分为生成的excel文件
运行后没有见到异常,但是生成的excel里边没有数据,不知道Range对象这样用法有什么错误,求高人指点下
Rows("1:5").Select
Selection.Copy
Sheets("Sheet3").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
现在我想改用我自己的sheet对象来进行插入:
Rows("1:5").Select
Selection.Copy
gb_XlsWSheet.Rows("1:1").Select
gb_XlsWSheet.Activate
gb_XlsWSheet.Range("1:1").Insert Shift:=xlDown
省略部分为生成的excel文件
运行后没有见到异常,但是生成的excel里边没有数据,不知道Range对象这样用法有什么错误,求高人指点下
'看一下以下二个语句对你是否有用: Worksheets("Sheet1").Rows("1:5").Copy '选择要复制的位置 Sheet1工作本中的 1-5行
Worksheets("Sheet2").Rows("1:1").Insert xlDown '复制至的位置 Sheet2工作本中的 第1行.插入.向下
就是"剪切板"
你前面复制了,又不让粘贴,只能从剪切板里拿出来,写到指定格子
我这里没装VB,只说个方法
gb_XlsWSheet.Range("1:1").Insert Shift:=xlDown
改成
gb_XlsWSheet.Range("1:1").Rows("1:1").Insert xlDown
我理解的,但是还是生成的空excel
gb_XlsWSheet.Rows("1:1").Insert xlDown
手误
gb_XlsWSheet.Rows("1:1").Insert xlDown
你要复制的地方有数据吗?不要没有数据就复制,那当然会空的了.要不,你将你的Excel发至我
Sub Test()
Sheet1.Rows("1:5").Copy
Sheet2.Rows("1:1").Insert Shift:=xlDown
Application.CutCopyMode = False
End Sub
Sheets("temp1").Rows("1:10").Copy
Dim rowIdx As Integer
rowIdx = 6
Set gb_XlsWBook = Application.Workbooks.Add(1)
Set gb_XlsWSheet = gb_XlsWBook.Worksheets("Sheet1")
gb_XlsWSheet.Rows("1:1").Insert xlDown
Kill "C:\w222XXasd.xls"
gb_XlsWBook.SaveAs ("C:\w222XXasd.xls")
gb_XlsWBook.Close
End Sub'我将你Command3中的语句改为上面那样了.
如果你要共用一样可以.
你可以在前面的时候就这样做.设置
gb_XlsWBook
gb_XlsWSheet
为全局变量.
这个你有做.
再加最开始的时候就可以进行引用.
Set gb_XlsWBook = Application.Workbooks.Add(1)
Set gb_XlsWSheet = gb_XlsWBook.Worksheets("Sheet1")