Функция InputBox для редактирования макроса - PullRequest
0 голосов
/ 26 июня 2018
Windows("XXX Consolidated PL 03312018.xlsx").Activate
ActiveCell.Offset(187, 8).Range("A1").Select
Selection.End(xlToLeft).Select
Selection.End(xlToLeft).Select

Как мне создать функцию макроса или InputBox, где я могу изменить числа "03312018"?

Числа представляют дату. Каждый месяц меняется электронная таблица, поэтому я хочу ввести новые цифры вручную.

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Что-то вроде:

Option Explicit 
Public Sub test()
    Dim wkbk As String, dateVar As String
    'dateVar = "03312018"
    dateVar = Application.InputBox("Enter date string")
    If dateVar = vbNullString Then Exit Sub
    wkbk = "XXX Consolidated PL " & dateVar & ".xlsx"
    On Error GoTo Errhand
    Windows(wkbk).Activate
    'other code
    Exit Sub
Errhand:
    If Err.Number <> 0 Then
        Select Case Err.Number
        Case 9
            MsgBox "Workbook not found"
            'Other handling
        End Select
    End If
End Sub
0 голосов
/ 26 июня 2018

Нечто подобное будет работать. Хотя вы, возможно, захотите проверить запись перед тем, как продолжить с вашим кодом:

Dim MyDate as Variant
MyDate = Inputbox ("Input Date Serial")

Windows("XXX Consolidated PL " & MyDate & ".xlsx").Activate
...