Vba 复制粘贴问题
我知道,当我提出我的问题时,你们中的许多人可能会觉得我很傻 我正在做的是尝试通过VBA代码将粘贴数据从for excel工作表复制到我的主excel工作表Vba 复制粘贴问题,vba,excel,Vba,Excel,我知道,当我提出我的问题时,你们中的许多人可能会觉得我很傻 我正在做的是尝试通过VBA代码将粘贴数据从for excel工作表复制到我的主excel工作表 sht1.Sheets(1).Activate Range("B58:L87").Copy ThisWorkbook.Sheets("Q1").Activate Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlan
sht1.Sheets(1).Activate
Range("B58:L87").Copy
ThisWorkbook.Sheets("Q1").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
sht2.Sheets(1).Activate
Range("B58:L87").Copy
ThisWorkbook.Sheets("Q2").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
并在接下来的两张纸上继续相同的操作。第三季度和第四季度
我有生以来第一次看到在运行代码时发生了一件奇怪的事情
当我在没有断点的情况下一次性运行完整的代码时(F5)
->Q1和Q4表为空白。已成功复制Q2和Q3图纸
但是
当我一步一步地运行相同的代码时(F8)
->所有四张表Q1、Q2、Q3和Q4都填写了所需数据
有人能帮我打开看不见的背景流程吗:)
我今天找到了答案。。。。那是在这么多天之后:)
我把床单从第三个位置移到第一个位置。但是在内部,它的(工作表(1)我没有考虑到……)如果在调试时它工作,那么它应该在运行时工作,除非您在调试期间选择工作簿/工作表 请尝试使用此代码,而不是当前代码
For i = 1 To 4
ThisWorkbook.Sheets("Q" & i).Range("A1:K30").Value = sht1.Sheets(1).Range("B58:L87").Value
Next i
尝试直接指定值,而不是复制和粘贴
Dim src as Range, dst as Range
Set src = sht1.Range("B58:L87")
Set dst = ThisWorkbook.Sheets("Q1").Range("A1")
dst.Resize(src.Rows.Count,src.Columns.Count).Value = src.Value
我今天找到了答案。。。。那是在这么多天之后:)
我把床单从第三个位置移到第一个位置。但在内部(我没有考虑到的工作表(1)…)Copy-paste-->edited:)它有助于按名称选择工作表和范围。类似于指定范围的
表(“数据”)
和范围(“汽车”)
。避免使用范围(“A1”)
和工作表(1)
,因为物体会移动。