Теперь у меня есть немного кода, который предлагает пользователю выбрать диапазон (1 область, 1 столбец, несколько строк).
Вот код, который предлагает пользователю сделать это:
MsgBox "Select a continuous range of cells where numeric values should be appended."
Set Rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8) 'Type Values, 8 - Range object
Как, однако, я могу получить имя рабочей книги и имя рабочей таблицы из вышеуказанного выбора?
Мне нужно это:
- Имя рабочей книги назначения wb - этого я добился, но с помощью cmd: ThisWorkbook (перед тем, как предложить пользователю что-либо сделать)
Имя рабочего листа назначения ws - желательно также прочитать приведенный выше код, где он запрашивает у пользователя «Set Rng / --- /»
Имя рабочей книги источника wb - после прочтения целевого ws я хочу предложить пользователю с помощью открытого набора выбрать исходную рабочую книгу, где я предложу пользователю выбрать дополнительный диапазон (диапазон источника) - который будет вводиться в 3 и 4.
Имя источника источника ws - см. 3
Также предпочтительно, чтобы я хотел иметь абсолютное имя ws «Sheet1» и т. Д., А не то, к чему оно относится (например, Kalle Anka).
Большое спасибо!
РЕДАКТИРОВАТЬ: Я знаю это в шоу входного набора, если выбран другой ws или wb, кроме того, из которого был инициирован макрос, то есть «[Cognos Orders and deliveryries.xlsx] Truck Orders»! $ F $ 11: $ F $ 18 , Но если я приглушу Установить как диапазон - есть ли способ получить эту информацию? Если бы это была строка, вы могли бы разделить строку! а затем], чтобы получить ws и wb отдельно? Как теперь с диапазоном?
РЕДАКТИРОВАТЬ2: Основываясь на ответах ниже, я пробовал это со следующим результатом / проблемой:
Sub AppendCognosData()
Dim Rng As Range
Dim AppendWb As Workbook
Dim AppendWs As Worksheet
Dim AppendWb2 As Workbook
'Create a reference to Wb where to append data
Set AppendWb = ThisWorkbook
MsgBox "Select a continuous range of cells (in a column) where numeric values should be appended."
Set Rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8) 'Type Values, 8 - Range object
AppendWs = Rng.Parent.Name
AppendWb2 = Rng.Parent.Paranet.Name
В этих двух последних строках я получаю сообщение об ошибке.
- Ошибка выполнения nr '91'? Это говорит о том, что объект переменный или С-блоквариабел
не был обозначен