【问题标题】:Paste to specified row in another workbook粘贴到另一个工作簿中的指定行
【发布时间】:2022-07-26 03:39:43
【问题描述】:

我创建了一个包含模板和寄存器的工作簿。
工作簿创建支出请求并将其保存为启用宏的新工作簿中的工作表。
然后它将详细信息保存在注册选项卡上,通过电子邮件通知相关人员。
然后将授权记录在各个文件中。

我想将授权添加到特定位置的寄存器,但行将取决于请求编号(在 sht1 的单元格 C8 中找到),尽管列将始终相同。

Dim wb1 As Workbook
Dim sht1 As Worksheet
Dim rng1 As Range
Dim wb2 As Workbook
Dim sht2 As Worksheet
Dim PasteRow As String
Dim VariableRange As Range
Set wb1 = ThisWorkbook
Set sht1 = wb1.Worksheets("Sheet1")
Set wb2 = Workbooks.Open("C:\\mytemplate.xlsm") (obviously this is a full file path in my actual macro)
Set rng1 = sht1.Range("D19")
Set sht2 = wb2.Worksheets("CAPEX list")
PasteRow = sht1.Range("C8").Value
Set VariableRange = sht2.Range("H" & PasteRow)
sht1.Activate
rng1.Copy
sht2.Activate
VariableRange.PasteSpecial Paste:=xlPasteValues

我明白了

运行时错误 1004

调试器提示 Set VariableRange = sht2.Range("H" & PasteRow) 是原因。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    你可以用这个替换最后 4 行

    VariableRange.Value2 = rng1.Value2
    

    【讨论】:

    • 它在那之前就倒下了,对不起,我应该把它放在问题中,可能会有所帮助!我在调试器中收到运行时错误 1004,表明问题出在 Set VariableRange = sht2.Range("H" & PasteRow) 我将修改问题,这就是我在午餐前发布的问题!
    • 使用Locals Window,出错时PasteRow的值是多少? (也因为 PasteRow 将是一个数字(我想)也许你应该将它声明为 Long,而不是 String)
    【解决方案2】:

    我不知道为什么我没有早点想到使用偏移量!以防其他人遇到同样的问题(可能性不大,但你永远不知道!)这是我现在编写的代码,它似乎运行良好!

    Dim wb1 As Workbook
    Dim sht1 As Worksheet
    Dim rng1 As Range
    Dim wb2 As Workbook
    Dim sht2 As Worksheet
    Dim MyRow As Long
    Dim PasteRange As Range
    Set wb1 = ThisWorkbook
    Set sht1 = wb1.Worksheets("Sheet1")
    Set wb2 = Workbooks.Open("myfile.xlsm")
    Set rng1 = sht1.Range("D19:E19")
    Set sht2 = wb2.Worksheets("CAPEX list")
    MyRow = sht1.Range("C9").Value
    Set PasteRange = sht2.Range("H2").Offset(MyRow, 0)
    sht1.Activate
    rng1.Copy
    sht2.Activate
    PasteRange.PasteSpecial Paste:=xlPasteValues
    wb2.Save
    wb1.Save
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多