Vba 自动填充一系列单元格
我有一个报价表-我需要获取某些(标题)信息并粘贴到主文件列Vba 自动填充一系列单元格,vba,excel,Vba,Excel,我有一个报价表-我需要获取某些(标题)信息并粘贴到主文件列A1:H1,然后获取报价项目并粘贴到主文件列I1:T1和I2:T2,如果不止一个项目,则依此类推 我可以完成大部分操作,但如果报价项超过1,则需要自动填充标题信息,从列A1:H1到最后一列I?:H? 下面是我写的,但我不能让它工作。这可能是一个我看不到的简单问题,或者我可能正在尝试用另一个循环更容易实现的方法 有谁能建议一种解决方案,在a:H列中填充尽可能多的行的标题信息吗 Sub TransferQuoteToMasterQuoteTe
A1:H1
,然后获取报价项目并粘贴到主文件列I1:T1
和I2:T2
,如果不止一个项目,则依此类推
我可以完成大部分操作,但如果报价项超过1,则需要自动填充标题信息,从列A1:H1
到最后一列I?:H?
下面是我写的,但我不能让它工作。这可能是一个我看不到的简单问题,或者我可能正在尝试用另一个循环更容易实现的方法
有谁能建议一种解决方案,在a:H
列中填充尽可能多的行的标题信息吗
Sub TransferQuoteToMasterQuoteTest()
Dim LastRow As Long
Dim R As Long
R = 16
Range("I5:I9").Copy
Worksheets.Add.Name = "MySheet"
Range("A1").PasteSpecial Transpose:=True
Sheets("Sheet1").Select
Range("K5").Copy
Sheets("MySheet").Select
Range("F1").PasteSpecial
Sheets("Sheet1").Select
Range("K11:K12").Copy
Sheets("MySheet").Select
Range("G1").PasteSpecial Transpose:=True
Range("I1").Select
Sheets("Sheet1").Select
Range("B16").Select
Do While Not IsEmpty(Worksheets("Sheet1").Range("B" & R))
Worksheets("Sheet1").Range("B" & R & ":M" & R).Copy Worksheets("MySheet").Range("I" & (R - 15) & ":T" & (R - 15))
R = R + 1
Loop
Worksheets("MySheet").Select
LastRow = Worksheets("MySheet").Range("I1").End(xlDown).Row
With Worksheets("MySheet").Range("A1")
.AutoFill Destination:=Range("A1:H" & LastRow&)
End With
End Sub
您在“LastRow”变量之后使用了“&”,请将其删除,然后尝试以下代码: 带工作表(“我的工作表”) .范围(“A1”)。自动填充目标:=范围(“A1:H”和最后一行)
最后,通过删除Selects将代码子层化,我想已经修复了错误
Sub TransferQuoteToMasterQuoteTest()
Dim LastRow As Long
Dim R As Long
R = 16
Worksheets.Add.Name = "MySheet"
Sheets("Sheet1").Range("I5:I9").Copy
Sheets("MySheet").Range("A1").PasteSpecial Transpose:=True
Sheets("Sheet1").Range ("K5")
Sheets("MySheet").Range("F1").PasteSpecial
Sheets("Sheet1").Range("K11:K12").Copy
Sheets("MySheet").Range("G1").PasteSpecial Transpose:=True
Do While Not IsEmpty(Worksheets("Sheet1").Range("B" & R))
Worksheets("Sheet1").Range("B" & R & ":M" & R).Copy Worksheets("MySheet").Range("I" & (R - 15) & ":T" & (R - 15))
R = R + 1
Loop
LastRow = Worksheets("MySheet").Range("I1").End(xlDown).Row
With Worksheets("MySheet")
.Range("A1:H1").AutoFill Destination:=.Range("A1:H" & LastRow)
End With
End Sub
请在你的帖子中添加代码标签。我想你也漏掉了一点。谢谢SJR,我已经尝试过了,但仍然收到运行时错误
1004
Sorry“range类的自动填充方法失败谢谢SJR,但我仍然收到错误消息”运行时错误1004“Range类的自动填充方法失败。请立即尝试,已做了一个小更改。谢谢SJR,它现在可以工作了,我感谢您的所有时间和帮助。也许您可以表示这已经回答了您的问题。您好SJR,这是您的最后一篇帖子”“也许您可以表示这已经回答了您的问题”如果你读了我前一天的帖子,你会发现我确实表明你已经回答了我的问题。“谢谢SJR,它现在起作用了,我感谢你的时间和帮助