2017-02-22 2 views
1

Hier ist der Code, den ich momentan in VBA (Excel) habe. Das meiste stammt von Makroaufnahmen, die ich gemacht habe. Ich suche zum Beispiel Zeile 10 als 10 in der Eingabebox, ohne sie als 10:10 eingeben zu müssen. Gibt es eine Möglichkeit für mich, meinen aktuellen Code zu bearbeiten, um dies zu ermöglichen? Ich habe versucht, Zeilen ("TargetRow: TargetRow") zu verwenden, aber das ergibt ungerade Ergebnisse.Zeilenverweis in der 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 

Antwort

1

Verwenden folgende Unter Zeilen auszuwählen inputbox

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

Dieser Unterpunkt wählt Zeilen aus, die Eingaben von 'Inputbox()' nehmen. Dann passen Sie diesen Unterpunkt mit Ihren Codes an. – harun24hr

0

Verwendung Wenn Sie ein Range von Benutzereingabe benötigen, ist der einfachste Weg, um die Excel-Version Application.InputBox mit einer Art von ‚8‘ zu verwenden (see the documentation here). direkt

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

Beachten Sie, dass Sie wahrscheinlich auch der Select und Activate Anrufe loswerden sollte und Ihre Objektreferenzen verwenden.

Verwandte Themen