代码在一张纸上运行(复制和粘贴),但在从另一张纸运行时不执行任何操作

问题描述 投票:0回答:1

这应该是一个简单的解决方案,但我找不到问题。

我有两张'DispoData'和'Dormant'。我想修复并将日期从“DispoData”中的“A1”复制到“休眠”表中的“C8:E8”。

如果我有'DispoData'表激活并运行代码但是如果我在任何其他工作表上运行它,那么代码工作得非常好,'休眠表'上的单元格“C8:E8”是空的。

Dim wbTemplate As Workbook
Dim ws As Worksheet, wsDispoData As Worksheet, wsDormant As Worksheet
Set wbTemplate = Workbooks("Makro Stock Management Bundle TEMPLATE.xlsm")
Set wsDispoData = wbTemplate.Worksheets("DispoData")
Set wsDormant = wbTemplate.Worksheets("Dormant Stock")


    Application.ScreenUpdating = False

'Add date from Dispo to Dormant sheet, convert to date and delete other writing
    With wsDispoData.Range("A1")
        .FormulaR1C1 = Left(Range("A1"), 10)
        .Copy wsDormant.Range("C8:E8")
    End With

    Application.CutCopyMode = False
    wsDormant.Range("C8:E8").NumberFormat = "dd.mm.yyyy"

无论哪个工作表处于活动状态,我都希望代码能够运行。有很多代码所以我只在最后激活屏幕更新。我一步一步地运行代码,除了粘贴部分之外,一切正常,如果我没有运行“DispoData”表激活的代码,它什么都不做。

excel vba copy-paste worksheet
1个回答
1
投票

修正版:带帮助形式@BigBen。

With wsDispoData.Range("A1")
    .FormulaR1C1 = Left(wsDispoData.Range("A1"), 10)
    .Copy wsDormant.Range("C8:E8")
End With
© www.soinside.com 2019 - 2024. All rights reserved.