【发布时间】:2016-04-28 16:25:46
【问题描述】:
我想将列从一个工作表映射到另一个工作表,这是我尝试过的代码:
Dim x As Integer
x = 2
Do Until Sheets("Sheet1").Range("A" & x).Value = ""
Sheets("Sheet2").Range("C" & x).Value = Sheets("Sheet1").Range("A" & x).Value
x = x + 1
Loop
x = 2
Do Until Sheets("Sheet1").Range("B" & x).Value = ""
Sheets("Sheet2").Range("A" & x).Value = Sheets("Sheet1").Range("B" & x).Value
x = x + 1
Loop
x = 2
Do Until Sheets("Sheet1").Range("C" & x).Value = ""
Sheets("Sheet2").Range("B" & x).Value = Sheets("Sheet1").Range("C" & x).Value
x = x + 1
Loop
在 worksheet1 中我有:
A B C
1 applicationname applicationid number
2 applcation1 1 123
3 applcation2 2 454
4 applcation3 3 897
在 worksheet2 中我得到:
A B C
1 appid num appname
2 1 123 applcation1
3 2 454 applcation2
4 3 897 applcation3
问题是还有很多其他列,这段代码似乎很长..我需要循环以便 applicationid 映射到 appid 等等..我想知道是否有一种方法可以根据标题(第一行中的数据),如果我也想复制空单元格,谁能告诉我该怎么做? 我可以知道我是否可以有一个像界面说 sheet3 这样的工作表,我可以在其中填写所需的映射,如
A B
1 Application Name App Name
2 Application ID AppID
3 Technology Tech
4 Business Criticality Bus Criticality
5 IT Owner IT Owner
6 Business Owner BusOwner and accordingly map them?thanks in advance
【问题讨论】:
-
在下面查看我的答案。我所给出的可能是矫枉过正,真的,但它实际上很简单。你不需要在这里复制,只是一个价值引用。这更快,更不容易出错。 :)