【问题标题】:macro for select all in vlookup用于在 vlookup 中全选的宏
【发布时间】:2015-03-03 23:40:00
【问题描述】:

我格式化了一个每周更改的大型电子表格,并将其与每周更改的数据文件相匹配。我需要在我的 vlookup 中使用“全选”功能,以及将公式复制到最后一行的“自动填充”功能。我已经尝试过“CurrentRegion”、“table”,并且在“end”语句中惨遭失败。由于我很少构建宏,因此我对 VBA 的了解不多,但确实喜欢学习。我以前在此站点上获得过帮助,并感谢为与工作相关的问题节省的时间。我这周开始的代码如下,谢谢!

ActiveCell.Select
Sheets("Demo").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],'Listing'!R1C1:R12182C4,3,FALSE)"
Selection.AutoFill Destination:=ActiveCell.Range("A1:A177688")
ActiveCell.Range("A1:A177688").Select

【问题讨论】:

  • 在这么多行上使用 vlookup 会遇到严重的性能问题。
  • 你有什么推荐的?还有其他功能吗?它只会每周变大。
  • 这里没有足够的细节可以说。
  • 谢谢,我会继续探索其他选项。
  • 很高兴回答这个问题,但需要一些细节。你从哪里得到数据?什么版本的Excel?桌子长什么样?查找表是什么样的?查找表从何而来?进行查找的最终目标是什么?

标签: excel vlookup vba


【解决方案1】:

我已经制作了这个宏,它可以为您选择任何符合您期望标准的单元格,即选择您的 vlookup 中的所有功能,它还将根据您的需求更改所有选定单元格的值,但是我需要更多地了解床单的外观以及您在寻找什么,以便更好地帮助您,这里是代码:

Sub selectall()

Dim rng     As String
Dim cname   As String

cname = InputBox("Enter column you wish to run the VLOOKUP", "NAME COLLECTOR")

'Change the "For" range as you desire to match the starting and ending line

For i = 1 To 100

If Range(cname & i) = "Enter what you're looking for" Then

If rng = Empty Then

rng = Range(cname & i).Address

Else:

rng = rng & "," & Range(cname & i).Address

End If

End If

Next

Range(rng).Value = InputBox("Enter the value or formula you want here", "NAME COLLECTOR")

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多