这应该是一个简单的解决方案,但我找不到问题。
我有两张'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”表激活的代码,它什么都不做。
修正版:带帮助形式@BigBen。
With wsDispoData.Range("A1")
.FormulaR1C1 = Left(wsDispoData.Range("A1"), 10)
.Copy wsDormant.Range("C8:E8")
End With