首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制粘贴问题

复制粘贴问题
EN

Stack Overflow用户
提问于 2014-12-11 12:21:09
回答 3查看 62关注 0票数 0

我知道在我提出我的问题时,我可能听起来真的很傻。

我正在做的是试图通过VBA代码将数据从for excel工作表复制到我的excel主表。

代码语言:javascript
复制
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

在接下来的两张纸上继续同样的操作。Q3和Q4.

在我的一生中,我第一次看到一件奇怪的事情发生在运行代码的时候。

当我一次运行完整的代码时,没有断点(F5)、->、Q1和Q4工作表都是空的。成功复制了Q2和Q3工作表。

但是,当我一步一步地运行相同的代码时,执行(F8) -> --所有四个工作表-- Q1、Q2、Q3和Q4 --都填充了所需的数据。

请有人把我的眼睛打开,看看看不见的背景过程:)

我今天找到了答案..。在这么多天之后:)

我把工作表从第三个位置移到第一个位置。但它的内部(1),我没有考虑到.:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-18 10:01:33

我今天找到了答案..。在这么多天之后:)

我把工作表从第三个位置移到第一个位置。但它的内部(1),我没有考虑到.:)

票数 0
EN

Stack Overflow用户

发布于 2014-12-11 13:40:16

如果它在去窃听时工作,那么它应该在运行时工作,除非您在调试期间选择工作簿/工作表。

用这个代替当前的代码。

代码语言:javascript
复制
For i = 1 To 4
   ThisWorkbook.Sheets("Q" & i).Range("A1:K30").Value = sht1.Sheets(1).Range("B58:L87").Value
Next i
票数 1
EN

Stack Overflow用户

发布于 2014-12-11 13:40:28

而不是复制和粘贴,尝试直接分配值。

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27422776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档