Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
Excel 在新列中添加额外信息_Excel_Vba - Fatal编程技术网

Excel 在新列中添加额外信息

Excel 在新列中添加额外信息,excel,vba,Excel,Vba,我想制作一个宏,将额外的信息添加到我的报告中 输入: 输出: 有时“消息”列不在同一位置(可以在B、D或E列中)。所以我在考虑一些步骤: 1.查找“消息”列。 2.在左侧插入列。 3.根据不同情况添加额外信息。(问题就在这里) 如何制作此宏?我已成功测试了此宏,它的工作原理与您预期的一样: Sub foo() Set res = Sheet1.Cells(1, 1).EntireRow.Find(What:="Message", LookIn:=xlValues, LookAt:=xlPa

我想制作一个宏,将额外的信息添加到我的报告中

输入:

输出:

有时“消息”列不在同一位置(可以在B、D或E列中)。所以我在考虑一些步骤:
1.查找“消息”列。
2.在左侧插入列。
3.根据不同情况添加额外信息。(问题就在这里)


如何制作此宏?

我已成功测试了此宏,它的工作原理与您预期的一样:

Sub foo()
 Set res = Sheet1.Cells(1, 1).EntireRow.Find(What:="Message", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False) 'Find column with header of "Message"
 ColumnNumber = res.Column 'Get ColumnNumber
 Columns(ColumnNumber).EntireColumn.Insert 'Insert a new column
 LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row ' Find the last Row on column A
 Sheet1.Cells(1, ColumnNumber).Value = "Extra Info" 'add header for new column
 For i = 2 To LastRow 'loop through the sheet to add the extra info
    If Sheet1.Cells(i, ColumnNumber + 1).Value = "D1" Then Sheet1.Cells(i, ColumnNumber).Value = "AAA"
    If Sheet1.Cells(i, ColumnNumber + 1).Value = "D2" Then Sheet1.Cells(i, ColumnNumber).Value = "BBB"
    If Sheet1.Cells(i, ColumnNumber + 1).Value = "D345" Then Sheet1.Cells(i, ColumnNumber).Value = "CCC"
 Next i
End Sub

谢谢你,泽比尔!很高兴能帮忙……)
Sub foo()
 Set res = Sheet1.Cells(1, 1).EntireRow.Find(What:="Message", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False) 'Find column with header of "Message"
 ColumnNumber = res.Column 'Get ColumnNumber
 Columns(ColumnNumber).EntireColumn.Insert 'Insert a new column
 LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row ' Find the last Row on column A
 Sheet1.Cells(1, ColumnNumber).Value = "Extra Info" 'add header for new column
 For i = 2 To LastRow 'loop through the sheet to add the extra info
    If Sheet1.Cells(i, ColumnNumber + 1).Value = "D1" Then Sheet1.Cells(i, ColumnNumber).Value = "AAA"
    If Sheet1.Cells(i, ColumnNumber + 1).Value = "D2" Then Sheet1.Cells(i, ColumnNumber).Value = "BBB"
    If Sheet1.Cells(i, ColumnNumber + 1).Value = "D345" Then Sheet1.Cells(i, ColumnNumber).Value = "CCC"
 Next i
End Sub