Как ввести диапазон в InputBox? - PullRequest
0 голосов
/ 06 марта 2020

Я сделал лист жестко закодированным.

Теперь я пытаюсь получить лист динамически, запрашивая у пользователя вводные данные, например, сколько заголовков таблицы, где начинать таблицу и т. Д. c.

Я использую поля ввода для получения данных пользователя. Работа заголовка и длины заголовка.

Поле ввода rng не работает. Когда я пытаюсь задать ему диапазон (например, я набираю поле ввода G5), переменная rng остается пустой.

Option Explicit
Dim Sht As String
Dim rng As Range
Dim Start As Range
Dim Einde As Range
Dim HeaderLength As Integer
Dim SubTitel() As String
Dim Titel As String
Dim I As Integer

Dim Number As Long

'Standaard template voor de Ruimtelijst
Sub Opmaak()
    'variabelen testen
    'offset om te tellen!
    Sht = "Blad1"
    Set rng = Application.InputBox(prompt:="Waar moet de tabel beginnen?", Type:=8)
    Start = rng.Value
    Titel = InputBox(prompt:="Wat is de Titel van de tabel?")
    HeaderLength = InputBox(prompt:="Hoeveel subtitels wilt u toevoegen?")

    Set Einde = Range(Start).Offset(4, HeaderLength)
    ReDim SubTitel(0 To HeaderLength)
    With Worksheets(Sht)
        .Cells(2, 2).Value = Titel
        For I = 1 To HeaderLength
            SubTitel(I) = InputBox("Wat is de naam van subtitel nummer " & I & "?")

            'Subtitels toevoegen
            .Cells(3, I + 1).Value = SubTitel(I)

            .Cells(2, I + 1).Merge
        Next I

1 Ответ

1 голос
/ 06 марта 2020

Попробуйте выбрать диапазон, используя курсор мыши ...

В противном случае вы должны четко указать диапазон. Примерно так:

=D4:F4

или (с другого листа):

=SheetName!$D$4:$F$4

Чтобы правильно использовать результат InputBox, Вы также должны изменить

Dim Start As Range на Dim Start As Variant.

...