这是我的困境。Vlookup到另一个工作簿
我有两个工作表,一个客户名称和一个我想复制名称以取决于城市。
例如:
与每列相关的是姓,名和城市。 我有数百名与不同城市相关的名字,我想从worksheet1.xls中将所有纽约客户端复制到worksheet2.xls,当我打开worksheet2或通过宏时,更容易,因为姓氏在一个细胞和第一个名字是在另一个我将不得不复制两个。
我看到它可能将单元格从一个工作表链接到另一个工作表,然后根据条件做一个vlookup。这是最简单的方法还是另一种?
这是我的困境。Vlookup到另一个工作簿
我有两个工作表,一个客户名称和一个我想复制名称以取决于城市。
例如:
与每列相关的是姓,名和城市。 我有数百名与不同城市相关的名字,我想从worksheet1.xls中将所有纽约客户端复制到worksheet2.xls,当我打开worksheet2或通过宏时,更容易,因为姓氏在一个细胞和第一个名字是在另一个我将不得不复制两个。
我看到它可能将单元格从一个工作表链接到另一个工作表,然后根据条件做一个vlookup。这是最简单的方法还是另一种?
执行此操作的一种方法是在工作表2中添加一个远程数据引用,用于查询工作表1。
然后当你打开worksheet2刷新数据,以得到worksheet1最新
喜欢的东西
SELECT * FROM worksheet1.xls WHERE City=YourChoice
这不是一个语法正确的查询,使用查询编辑器来帮助你建立了
如果您需要帮助,请包括您正在使用的Excel版本。
我可以offser该宏为答案,它具有以下的改进余地:
这是代码
Option Explicit
Sub Macro1()
'
' Macro1 Macro
'
Dim City As String
Dim FirstName As String
Dim LastName As String
City = Range("B4").Value 'B4 cell where city is
Range("C4").Select 'C4 cell where name is pasted
'go to the book, shhet and firs range with names
Windows("book_with_cities.xlsx").Activate
Sheets("year2011").Select
Range("A4").Select 'where the data start
'main copy loop
Do While ActiveCell.Value <> ""
'if is the city I´m lookin for copy the data to my excel of results
If ActiveCell.Value = City Then
LastName = ActiveCell.Offset(0, 1).Value
FirstName = ActiveCell.Offset(0, 2).Value
Windows("book_with_results.xlsx").Activate
Sheets("Your_city_data").Select
ActiveCell.Value = LastName
ActiveCell.Offset(0, 1).Value = FirstName
ActiveCell.Offset(1, 0).Select
Windows("book_with_cities.xlsx").Activate
Sheets("year2011").Select
End If
ActiveCell.Offset(1, 0).Select
Loop
'going back to your sheet
Windows("book_with_results.xlsx").Activate
Sheets("Your_city_data").Select
End Sub
希望这有助于
问候
阿伦
很难说,因为我需要它,当我打开它做的事。 我想出了另一种避免宏的解决方案。 这是我想出来的,但完全不同于原来的帖子,仍然很难。 我有三个文件;一个与名字,相同的名字和他们的城市和结果。 result.xls我将名称与name.xls链接起来,然后我尝试从result.xls的名称上查看city.xls以获取其城市条件。 是否可以在另一个工作表上执行vlookup? = VLOOKUP(D2,'[city.xls] Users'!$ D:$ D,2,FALSE) 这是我的公式不起作用 – 2010-06-08 19:47:41