Ссылка VBA на лист ввода пользователя - PullRequest
1 голос
/ 21 января 2020
Sub CleanData()

Dim MessageAnswer As VbMsgBoxResult
Dim EachRange As Range
Dim TempArray As Variant
Dim col As Long
Dim rng As Range
Dim ws As Worksheet


uSheet = InputBox("Define the sheet name")
Set ws = Worksheets(uSheet) 'Define the sheet name
uRange = InputBox("Define the range")
Set rng = Range(uRange)


For Each EachRange In rng.Areas
    TempArray = EachRange.Value2
        If IsArray(TempArray) Then
        For rw = LBound(TempArray, 1) To UBound(TempArray, 1)
            For col = LBound(TempArray, 2) To UBound(TempArray, 2)
                If Len(TempArray(rw, col) < 1) Then

                ElseIf IsNumeric(TempArray(rw, col)) Then
                    TempArray(rw, col) = CDbl(TempArray(rw, col))
                ElseIf Format(TempArray(rw, col) = "//") Then
                Else
                    TempArray(rw, col) = uRange.Trim(TempArray(rw, col))
                End If
            Next col
        Next rw
    Else
      End If

    EachRange.Value2 = TempArray

  Next EachRange


'Code Ran Succesfully!
  MsgBox "Your data cleanse was successful!", vbInformation, "All Done!"

End Sub

Я не уверен, как связать это с пользовательским вводом. все остальное работает нормально. Причина, по которой я это делаю, заключается в том, чтобы связать этот VBA с командной кнопкой на другом листе. Указанный пользователем диапазон работает нормально, но я не могу понять, как включить лист в код.

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