0

我有不断移动的列,我正在尝试重写一些宏以使用标题名称。将代码应用于 Sub 时遇到一些麻烦。

Trying to replace this: Columns("EO:EO").SelectColumns("aCell:aCell").Select

尝试了各种其他方法,但我什么也做不了。

谢谢

Function LCol(ColumnNumber As Long) As String
Dim ColNum As Integer
Dim ColLetters As String
ColNum = ColumnNumber
ColLetters = ""
Do
    ColLetters = Chr(((ColNum - 1) Mod 26) + 65) & ColLetters
    ColNum = Int((ColNum - ((ColNum - 1) Mod 26)) / 26)
Loop While ColNum > 0
LCol = ColLetters
End Function

潜艇

Sub RenameOther()
Dim strSearch As String
Dim aCell As Range
Dim colz As Range

strSearch = "attribute_4"

Set aCell = Sheet1.Rows(1).Find(What:=strSearch, LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)

If Not aCell Is Nothing Then
'Trying to replace this: Columns("EO:EO").Select

Columns("aCell:aCell").Select
Selection.Replace What:="Client/Customer/Other (optional)", Replacement:="Other", _
    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
    False, ReplaceFormat:=False
Cells(2, aCell.Column).Select

End If
End Sub
4

3 回答 3

1
  'Trying to replace this: Columns("EO:EO").Select
  Columns(aCell.Column).Select
于 2013-08-26T20:07:50.527 回答
1

或者你可以试试这个:

aCell.EntireColumn.Select
于 2013-08-26T20:08:31.973 回答
1
Sub Tester()

    ReplaceColumnContent "attribute_4", "Client/Customer/Other (optional)", "Other"

End Sub


Sub ReplaceColumnContent(colHeader As String, LookFor As String, ReplaceWith As String)

    Dim strSearch As String
    Dim aCell As Range
    Dim colz As Range


    Set aCell = Sheet1.Rows(1).Find(What:=colHeader, LookIn:=xlValues, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)

    If Not aCell Is Nothing Then
        With Sheet1.Range(aCell.Offset(1, 0), Sheet1.Cells(Rows.Count, aCell.Column).End(xlUp))
            .Replace What:=LookFor, Replacement:=ReplaceWith, _
                LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
                SearchFormat:=False, ReplaceFormat:=False
        End With
        'aCell.offset(1,0).select
    End If
End Sub
于 2013-08-26T20:18:13.893 回答