【发布时间】:2017-03-10 17:46:45
【问题描述】:
下面的代码有问题。 该代码应该复制长字符串。 源文件将此内容作为字符串。它大约有 50 个字符长。有数字和字母混合。
问题在于,对于某些粘贴的范围,它们采用科学计数法,其他函数无法查找。
这里是相关部分的代码
For i = 1 To Columns.Count
If Left(ActiveWorkbook.Sheets(1).Cells(7, i).Value, 4) = "1068" Then
ActiveWorkbook.Sheets(1).Range(ActiveWorkbook.Sheets(1).Cells(7, i).End(xlUp), ActiveWorkbook.Sheets(1).Cells(7, i).End(xlDown)).Copy _
Destination:=ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
Next i
有没有办法只粘贴这样一个范围的值? 我尝试过使用“粘贴值”方法但收到 VBA 错误消息
【问题讨论】:
-
假设您有多行数据,这段代码对我来说似乎很奇怪,因为您开始检查第 7 行,A 列的 1068,然后如果找到,则从上到下选择每个单元格并粘贴在 A 列的底部?然后你重复其余的列?
-
是的,这很奇怪。但是我从中复制的报告是如此不规则,以至于它从第 3 行开始一次从第 5 行开始。所以7号是最接近的,肯定会同时满足数据
-
如果报告是常规的,比如从第一行开始,我肯定会使用第二行以下
-
很遗憾,您对问题的描述并未向任何人提供您想要做什么的细节。复制“长字符串”可能与复制单元格不同。请尝试举一个示例,其中您有 5 行,第 3 行和第 5 行在 A 和 C 列中有您的“1068”。您想为第一行复制什么,以及您想将它粘贴到哪里。然后为 Col. C. 解释同样的内容。
-
您希望我如何展示它?附加信息是源文件是由其他宏转换为 xlsx 的 csv 文件