【发布时间】:2018-11-22 07:41:02
【问题描述】:
全部-
我对 VBA 很陌生,我真的需要帮助。我有一个名为 Sheet 1 的工作表,看起来像这样(这是从中复制数据的地方)
和另一个看起来像这样的工作表(Sheet2)(这是数据将被复制到的位置)。注意顺序和上面的不一样
当用户在诸如“Paris”之类的地方键入时,我希望它复制所有与“Paris”相对应的值,并且它是关联的行。所以最终结果应该是这样的
这是我到目前为止的代码。现在,我可以根据用户输入提取所有相应的值,但我无法终生弄清楚如何获取关联的行。请帮忙!任何意见都将受到高度赞赏。
Dim x As String
Dim K As Long
Dim ct As Variant
Dim r As Range
Dim w1 As Worksheet
Dim w2 As Worksheet
Set w1 = Sheets("Sheet1")
Set w2 = Sheets("Sheet2")
a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
x = Application.InputBox("Please Enter Place")
w1.Activate
K = 3
For Each r In Intersect(Range("C3:C3" & a), ActiveSheet.UsedRange)
ct = r.Value
If InStr(ct, x) > 0 And ct <> "" Then
r.Copy w2.Cells(K, 1)
K = K + 1
w2.Activate
End If
Next r
End Sub
【问题讨论】:
-
请不要在您的问题上附加其他问题。最初的问题是使用 VBA 来获取您的列表,因此通过您编辑一个新的
VLOOKUP问题会使这个问题过于宽泛并使之前的答案无效。如果您有新问题,请start a new one。如果您愿意,您可以在新问题中添加指向该问题的链接以获取上下文。您可能想查看How to Ask 了解更多信息。我已经回滚了您的问题,以使其成为 Stack Overflow 的主题。谢谢!! -
好的。那讲得通。我道歉。我将开始一个新问题。
-
无需道歉。我只是想确保你知道:)