【发布时间】:2015-09-24 15:10:31
【问题描述】:
好的,我是 VBA 的初学者,所以我需要一些帮助。假设这是非常基本的,但这里是我正在寻找代码的步骤:
-使用Vlookup在Sheet1的C列中查找“Rec”值,并在D列中选择该行对应的值
-然后从 Sheet1 中的 D 列复制该值并将其粘贴到另一个名为 Sheet2 的工作表的 B 列中的第一个空白单元格中
我有一个基本代码,它使用 Vlookup 来查找 Rec 以及它在 D 列中的相应值,然后显示一条消息。代码运行良好,如下所示:
Sub BasicFindGSV()
Dim movement_type_code As Variant
Dim total_gsv As Variant
movement_type_code = "Rec"
total_gsv = Application.WorksheetFunction.VLookup(movement_type_code,Sheet1.Range("C2:H25"), 2, False)
MsgBox "GSV is :$" & total_gsv
End Sub
我还有另一个可以在 B Sheet2 列中找到下一个空白单元格,它也可以:
Sub SelectFirstBlankCell()
Dim Sheet2 As Worksheet
Set Sheet2 = ActiveSheet
For Each cell In Sheet2.Columns(2).Cells
If IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
End Sub
不知道如何整合两者,也不知道如何让代码将Vlookup结果粘贴到Sheet2中。任何帮助将不胜感激,谢谢!
【问题讨论】:
-
用
Worksheets("sheet2").Range("B" & Rows.count).End(xlUp).Offset (1) = total_gsv替换第一个宏上的 msgbox 它将找到下一个空单元格并将 tota_gsv 的值放入该单元格。 -
@ScottCraner 你没有答案
-
@AndréNeves Bom Dia,这是一个简单的修复工作。我觉得这并不能证明一个完整的答案是合理的。但我喜欢宏人花时间清理所有多余代码的方式。