这是我的困境。
我有两张工作表,一张有客户的名字,一张我想根据城市复制名字。
例如:
与每列关联的是姓氏、名字和城市。我有数百个与不同城市相关联的名字,我希望从 worksheet1.xls 将所有纽约客户复制到 worksheet2.xls,无论是当我打开 worksheet2 还是通过宏时,这都更容易,因为姓氏在一个单元格中第一个名字在另一个我必须复制两者。
我看到可以将单元格从一个工作表链接到另一个工作表,然后根据标准进行 vlookup。这是最简单的方法还是有其他方法?
这是我的困境。
我有两张工作表,一张有客户的名字,一张我想根据城市复制名字。
例如:
与每列关联的是姓氏、名字和城市。我有数百个与不同城市相关联的名字,我希望从 worksheet1.xls 将所有纽约客户复制到 worksheet2.xls,无论是当我打开 worksheet2 还是通过宏时,这都更容易,因为姓氏在一个单元格中第一个名字在另一个我必须复制两者。
我看到可以将单元格从一个工作表链接到另一个工作表,然后根据标准进行 vlookup。这是最简单的方法还是有其他方法?
我可以将此宏作为答案,它有以下改进空间:
这是代码
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
希望这可以帮助
此致
艾伦
一种方法是在查询 worksheet1 的 worksheet2 中添加远程数据引用。
然后,当您打开工作表 2 时,您刷新数据以从工作表 1 获取最新数据
就像是
SELECT * FROM worksheet1.xls WHERE City=YourChoice
这不是一个语法正确的查询,请使用查询编辑器帮助您构建它
如果您需要帮助,请附上您正在使用的 Excel 版本。