gpt4 book ai didi

excel - VBA VLookUp-不起作用,但没有错误

转载 作者:行者123 更新时间:2023-12-03 07:49:48 24 4
gpt4 key购买 nike

感谢您的注视!恐怕我对VBA还是陌生的,我不得不承认自己正在做些挣扎。

我正在尝试第一个项目,边做边学,遇到了第一个障碍。没有错误,但是我的VLookUp不想返回任何数据。

基本上,我试图在“输入”选项卡中选择所有数据,将其剪切并粘贴到“输出”选项卡,然后从“客户列表”选项卡执行VLookUp以返回值以输出。

我的代码看起来像这样;

Option Explicit
Sub RP_Maker()
''''''variables

'Misc

Dim x As Long

'Worksheets

Dim ws_Input As Worksheet
Set ws_Input = Workbooks("RP Maker").Worksheets("Input")

Dim ws_Output As Worksheet
Set ws_Output = Workbooks("RP Maker").Worksheets("Output")

Dim ws_ClientList As Worksheet
Set ws_ClientList = Workbooks("RP Maker").Worksheets("Client List")

Dim ws_PRP As Worksheet
Set ws_PRP = Workbooks("RP Maker").Worksheets("Previous RPs")

'Last Column & Row

Dim lCol As Long
lCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column

Dim lRow As Long
lRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

'''''Code

'Cut Input sheet and paste to Output sheet.

ws_Input.Activate

ws_Input.Range(Cells(1, 1), Cells(lRow, lCol)).Cut ws_Output.Cells(1, 1)

ws_Output.Activate

'VLookUp

ws_ClientList.Activate

For x = 2 To lRow

On Error Resume Next
ws_Output.Cells(x, 4) = Application.WorksheetFunction.VLookup(ws_Output.Cells(x, 1), ws_ClientList.Range(Cells(1, 1), Cells(lRow, lCol)), 4, False)
On Error GoTo 0

Next x

ws_Output.Activate


End Sub

它不会引发任何错误,但是我想这是因为我(可能是错误地)使用了错误处理程序。

有相关数据需要查找,因此每次运行都不应出错。大约一半为空白,一半为数据。

谢谢大家!

卡勒姆

最佳答案

以下尝试使用另一个工作表(默认为ActiveSheet property)中的单元格来构建范围。

 ws_ClientList.Range(Cells(1, 1), Cells(lRow, lCol))

它应该更接近
 ws_ClientList.Range(ws_ClientList.Cells(1, 1), ws_ClientList.Cells(lRow, lCol))

在几个地方,您可以重复此格式错误的范围引用,但由于使用了正确的ActiveSheet,因此无法使用它。最好明确引用所有 Range objectRange.Cells property Range.Parent属性。

关于excel - VBA VLookUp-不起作用,但没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37075985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com