2017-02-22 49 views
1

вот код, который я сейчас имею в VBA (Excel) на данный момент. Большинство из них произошло из макрозаписей, которые я сделал. То, что я ищу, - это возможность вставить, например, строку 10, как только 10 в поле ввода, без необходимости вводить ее в 10:10. Есть ли способ изменить мой текущий код, чтобы это разрешить? Я пробовал использовать строки («TargetRow: TargetRow»), но это дает нечетные результаты.Ссылка на строку в InputBox?

Dim TargetRow As Variant 
TargetRow = InputBox("Insert row # where data should be inserted. This should take the format XX:XX (e.g. 90:90 for row 90)", "All Industries Row", "XX:XX") 

wbThis = ThisWorkbook.Name 
Windows(wbThis).Activate 
    Rows(TargetRow).Select 
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromAbove 

Windows("otherworksheet.xlsx").Activate 
    Range("A119:J119").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Windows(wbThis).Activate 
    Range(TargetRow).Select 
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ 
     xlNone, SkipBlanks:=False, Transpose:=False 
    Application.CutCopyMode = False 

ответ

1

Используйте следующие подпункты для выбора строк с помощью inputbox

Sub SelectRow() 
    Dim lnRow As Long 
    lnRow = InputBox("Enter Row number.", "Row Input") 
    Rows(lnRow & ":" & lnRow).Select 
End Sub 
+0

Этот субтитр будет выбирать строки, вводящие входные данные из 'Inputbox()' Затем отредактируйте этот sub с вашими кодами. – harun24hr

0

Если вам нужен Range из пользовательского ввода, самый простой способ заключается в использовании версии Excel Application.InputBox с типом «8» (see the documentation here).

Dim TargetRow As Range 
Set TargetRow = Application.InputBox("Select the row where data should be inserted.", _ 
            "All Industries Row", , , , , , 8) 
Debug.Print TargetRow.Address 

Обратите внимание, что вы должны, вероятно, также избавиться от Select и Activate вызовов и использовать ссылки на объекты непосредственно.

 Смежные вопросы

  • Нет связанных вопросов^_^