Excel-VBA Предложить пользователю ввести столбец для поиска? - PullRequest
0 голосов
/ 12 февраля 2019

первое сообщение:)

У меня есть следующий код ниже, который выбирает все в заданном столбце и очищает две текстовые фразы, начиная со строки 12.

То, что я хочу, этопользователь вместо этого вводит столбец?возможно через InputBox?


Sub ClearColumn()
  Dim lastCell As Long

    Dim myRange As Range

'   Find lastCell in column Z
    lastCell = Cells(Rows.Count, "Z").End(xlUp).Row

'   Set range to look at
    Set myRange = Range("Z12:Z" & lastCell)

'   Replace All Pass
    myRange.Replace What:="Go", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
'   Replace All Fail
    myRange.Replace What:="Stop", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False


End Sub

1 Ответ

0 голосов
/ 12 февраля 2019

Добро пожаловать в Stack Exchange.Вы, кажется, ответили на свой вопрос.Приведенный ниже код не проверен, но его реализация займет немного времени.

Sub ClearColumn()
  Dim lastCell As Long
  Dim chooseColumn As Variant
  Dim myRange As Range

  chooseColumn = InputBox("Which Column do you want to alter?")

'   Find lastCell in column Z
    lastCell = Cells(Rows.Count, chooseColumn ).End(xlUp).Row

'   Set range to look at
    Set myRange = Range(chooseColumn &"12:"&chooseColumn & lastCell)

'   Replace All Pass
    myRange.Replace What:="Go", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
'   Replace All Fail
    myRange.Replace What:="Stop", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False


End Sub

Дайте нам знать, как вы поступите:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...