Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 自动填充一系列单元格_Vba_Excel - Fatal编程技术网

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,它现在起作用了,我感谢你的时间和帮助