Excel VBA代码来replace特定的列

我有一个Excel电子表格,我需要修改一个特定的列。

第1步。find列名称

第2步。标记此列中所有填充的行

第3步。继续一定的行动(主要是find和replace,或者如果其他列是“这个”然后修改我的专栏“那个)。

我想先指定2个步骤,并留出空间来修改代码,以便进行步骤3。

我有一个类似的工作的VBA代码。 它search特定的列名称,它标记填充的所有行。 它不允许我轻松地复制和粘贴在互联网上find的其他代码到主代码。

MACRO发现列名,并标记所有logging

Sub FindAddressColumn() Dim rngAddress As Range Set rngAddress = Range("A1:ZZ1").Find("Address") If rngAddress Is Nothing Then MsgBox "Address column was not found." Exit Sub End If Range(rngAddress, rngAddress.End(xlDown)).Select End Sub 

在互联网上发现的大多数macros都有指定的列。

代码示例,我想添加到主代码:

 Sub GOOD_WORKS_Find_Replace_Commas_in_Emails() Sheets("Data").Activate Dim i As String Dim k As String i = "," k = "." Columns("R").Replace What:=i, Replacement:=k, LookAt:=xlPart, MatchCase:=False Sheets("Automation").Activate MsgBox "Removing commas in emails - Done!" End Sub 

我相信我所错过的是将会为已经标记的列行“说”的代码。 在这里你只粘贴在互联网上find的代码的一部分。

我认为这段代码将完成你想要的工作:

 Sub ColumnReplace() Dim TargetColumn As Range Dim Header As String Dim SearchFor As String Dim ReplaceTo As String Header = "ccc" SearchFor = "111" ReplaceTo = "99999" Set TargetColumn = ThisWorkbook.ActiveSheet.Range("1:1").Find(Header, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False) Set TargetColumn = Cells(1, TargetColumn.Column).EntireColumn TargetColumn.Replace What:=SearchFor, Replacement:=ReplaceTo, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub 

根据需要采用工作簿/表格名称以及search/replacestring。

示例文件: https : //www.dropbox.com/s/s7fghhlsmydjaf6/EntireColumnReplace.xlsm