Vba 如何根据映射的工作表更改列名
我有三张纸,分别是“sheet1”、“sheet2”和“mapping”sheet “Sheet1”由实际数据组成(可以说原始数据和列号/标题名称可以不同) “Sheet2”由主表列组成(Sheet1数据标题应与Sheet2一致) “映射”包括图纸1和图纸2之间的映射 我正在寻找代码,可以更新sheet1列根据映射表。 如映射表上显示“AB”=“C1”,则“sheet1”列应更新为“C1” 我试过使用matchfunction,但没有成功。还有其他想法吗Vba 如何根据映射的工作表更改列名,vba,excel,Vba,Excel,我有三张纸,分别是“sheet1”、“sheet2”和“mapping”sheet “Sheet1”由实际数据组成(可以说原始数据和列号/标题名称可以不同) “Sheet2”由主表列组成(Sheet1数据标题应与Sheet2一致) “映射”包括图纸1和图纸2之间的映射 我正在寻找代码,可以更新sheet1列根据映射表。 如映射表上显示“AB”=“C1”,则“sheet1”列应更新为“C1” 我试过使用matchfunction,但没有成功。还有其他想法吗 提前感谢。使用以下代码。。它可以解决问题
提前感谢。使用以下代码。。它可以解决问题或给出一个想法
Sub renameworksheetcolumnmatach()
Dim test, findtext As Variant
Sheets("SHEET1").Activate
Dim i, j As Integer
For i = 1 To 36
findtext = Sheets("SHEET1").Cells(1, i).Value
On Error Resume Next
If Application.WorksheetFunction.Match(findtext, Sheets("MAPPING").Range("A1:A100"), 0) Then
Set rngx = Worksheets("mAPPING").Range("A1:A100").Find(findtext, LookAt:=xlWhole)
c = rngx.Address
newcolval = Sheets("Interface").Range(c).Offset(0, 1).Value
If newcolval = "" Then
Cells(1, i).Interior.ColorIndex = 35
GoTo P
End If
Sheets("SHEET1").Cells(1, i) = newcolval
End If
P:
Next i
End Sub
-你来错地方了,伙计,总有办法的。。
Sub renameworksheetcolumnmatach()
Dim test, findtext As Variant
Sheets("SHEET1").Activate
Dim i, j As Integer
For i = 1 To 36
findtext = Sheets("SHEET1").Cells(1, i).Value
On Error Resume Next
If Application.WorksheetFunction.Match(findtext, Sheets("MAPPING").Range("A1:A100"), 0) Then
Set rngx = Worksheets("mAPPING").Range("A1:A100").Find(findtext, LookAt:=xlWhole)
c = rngx.Address
newcolval = Sheets("Interface").Range(c).Offset(0, 1).Value
If newcolval = "" Then
Cells(1, i).Interior.ColorIndex = 35
GoTo P
End If
Sheets("SHEET1").Cells(1, i) = newcolval
End If
P:
Next i
End Sub