【发布时间】:2018-03-27 22:39:54
【问题描述】:
我在让它工作时遇到了一些麻烦。我已经尝试了几种不同的方法来做到这一点,但我的结果是空的。
我想在一个工作簿中取一个值,然后在另一个工作簿的列中找到它,然后进行偏移并复制6列 信息(1 行,6 列,因此 6 个值)并将它们粘贴回原始工作簿中。
我从 similar 问题中获得了以下代码,但它只是带回了一大列带边框的单元格......对此感到困惑。这段代码只是我试图找到值,遍历 19 列,复制该值,并将其带回第一个工作簿。最终我想抓住前面提到的 6 个值...
Sub findgage()
Dim gage As String
gage = Worksheets("Caliper").Range("C4").Value
With Workbooks.Open(Filename:="[path]\IMTECOPY.xlsx", ReadOnly:=False)
With .Worksheets("All").Range("B1:B1000")
.AutoFilter 1, gage
Range("S" & ActiveCell.Row & ":X" & ActiveCell.Row).Select
End With
End With
End Sub
UPDATE 好的,所以上面的代码几乎完全按照我想要的方式执行,但它选择了“活动行”下方的行的 6 个单元格。我在这里想念什么?我没有看到任何让它这样做的东西......
这是它正在选择的图片:
知道它为什么会往下跳吗?
【问题讨论】:
-
1.如果 gage 在 C4 中,为什么要将结果粘贴到 J15 中? 2. .offset(1, 19) 是指从第 19 列(S 列)开始,还是从 B 列右侧第 19 列(U 列)开始?
-
您能否在您的问题中发布您的(样本)数据。这样我们就可以了解您在看什么
-
如果您发布了您正在使用的内容和尝试执行的操作的示例(可能是屏幕截图?),这将更有意义。问题的一部分是,您的问题(以及解决方法)基于您认为 Excel 的能力 在 Excel 中完成任何任务的方法有很多,而您似乎坚持只有一个,这可能不是最好的方法。例如,为什么是 19?什么东西在那里?有没有比“19 over”更好的列标题或其他东西?如果电子表格发生变化会发生什么?你要复制什么样的数据?连接细胞呢?
-
C4 是用户输入值的单元格。我希望代码在另一个工作簿中查找该值,当它找到它时,转到右侧的 19 列并复制接下来的 6 个值,然后将它们带回原始工作簿。 J15 只是我希望数据进入的随机单元格。
标签: excel vba find multiple-columns copy-paste