vba - VBA - 帮助调试出错的复制/粘贴
问题描述
在我的一小部分代码中发生了一些神秘的事情,我无法弄清楚出了什么问题。这是问题所在(我跳过了顶部的工作表/报告定义):
Set FoundRow = sh_NYlandsum.Columns(1).Find("SUM", lookat:=xlWhole, LookIn:=xlValues)
FoundRow.Offset(, 1).Resize(1, 33).Copy
sh_Data3.Range("C" & sh_Data3.Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Set wb_rapp = Workbooks.Open(fPath & "\R2\" & "Gruppe1.xls")
FoundRow = wb_rapp.Sheets(1).Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Find("SUM", Cells(1, 1), MatchCase:=True).Row
Range("S" & FoundRow & ":AE" & FoundRow).Copy
FoundRow = sh_SumGrupper.Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Find("G1", Cells(1, 1)).Row
sh_SumGrupper.Range("B" & FoundRow & ":N" & FoundRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
wb_rapp.Close False
我一直在使用 F8 调试代码,这就是正在发生的事情:
第一位转到工作表 NYlandsum (ThisWB),在 A 行中找到单词“SUM”,并复制 B-AH 列。数据被传递到工作表“Data3”(ThisWB)列 C:AI(第一个可用行)。工作得很好。
下一位打开一个报告,在 A 行中找到单词“SUM”,并复制 S-AE 列。数据被传递到工作表“SumGrupper”(ThisWB)中,它在 A 列中找到包含“G1”的行,并将数据放入 B:N 列。工作得很好。
但是...,当最后一位完成时,代码还从工作表“SumGrupper”中获取了行号 - 它已经传递了数据(在列 A =行号 5中保存“G1”的行),并替换了“来自工作表“NYlandSUM”的 A 列的 SUM”,值为“5”。这……怎么会这样?任何人都可以发现问题所在,以及如何解决它?
解决方案
推荐阅读
- ios - 如何在 swift 中使用 malloc_zone_statistics 查找我的 iOS 应用程序的堆内存?
- python - 网络爬到一张桌子
- django - Python Django 自动完成点亮结果无法加载
- html - 内联 CSS 图像过渡
- jquery - 如何访问特定键的本地存储值
- amazon-web-services - 旋转后 Tomcat 的日志为空 - AWS EC2 - Tomcat 8
- amazon-s3 - 如何授予 lambda 权限以将文件上传到 `terraform` 中的 s3 存储桶?
- jquery - 如何在文件转换时使用 ajax 制作加载器
- android - 根据放置在相机上的视图裁剪图像的特定部分
- regex - 正则表达式函数说明