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