Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何根据映射的工作表更改列名_Vba_Excel - Fatal编程技术网

Vba 如何根据映射的工作表更改列名

Vba 如何根据映射的工作表更改列名,vba,excel,Vba,Excel,我有三张纸,分别是“sheet1”、“sheet2”和“mapping”sheet “Sheet1”由实际数据组成(可以说原始数据和列号/标题名称可以不同) “Sheet2”由主表列组成(Sheet1数据标题应与Sheet2一致) “映射”包括图纸1和图纸2之间的映射 我正在寻找代码,可以更新sheet1列根据映射表。 如映射表上显示“AB”=“C1”,则“sheet1”列应更新为“C1” 我试过使用matchfunction,但没有成功。还有其他想法吗 提前感谢。使用以下代码。。它可以解决问题

我有三张纸,分别是“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