HERBERS Excel-Forum - das Archiv
Zahlen aus Textfeld ( 1, 2, 5) auslesen
Ingo

Hallo,
In einem Textfeld werden Zeilennummern eingegeben die durch
Komma oder Semikolon getrennt werdenn z.B. ("1, 4, 7").
Jetzt möchte ich jeweils die Zeile 1, 4, 7 makieren und diesen dann kopieren.
Wie könnte das gehen?

Auslesen oder Kopieren? Du solltest dich...
Luc:-?

...mal erst entscheiden, Ingo... ;-)
Gruß Luc :-?
AW: Auslesen oder Kopieren? Du solltest dich...
Ingo

Sorry, schlecht ausgedrückt.
Ich gebe im Textfeld eigentlich nur die Zeilen an die ich aus "Tabelle1" in "Tabelle2" kopieren möchte
was für ein Textfeld? owT
Uduuh

AW: was für ein Textfeld? owT
Ingo

Textfeld oder Textbox
AW: was für ein Textfeld? owT
Uduuh

Hallo,
in den Code der Tabelle mit der Textbox:
Private Sub TextBox1_LostFocus()
Dim rngC As Range, arrRows, i As Long
If TextBox1 <> "" Then
arrRows = Split(TextBox1, ",")
Set rngC = Rows(arrRows(0))
Set rngC = Rows(arrRows(i))
For i = 1 To UBound(arrRows)
Set rngC = Union(rngC, Rows(arrRows(i)))
Next
rngC.Copy 'wohin?
End If
End Sub

Wirkt beim Verlassen der TB.
Gruß aus’m Pott
Udo

AW: was für ein Textfeld? owT
Ingo

Hallo Udo,
danke für den super Tipp. Funktioniert auch fast.
Mit dem Copy ist nicht ganz richtig.
Die in der Textbox eingegebenen Zahlen sind Zeilennummer einer anderen Datei die ich auslesen möchte. Bei mir sieht das folgendermaßen aus:
Set wkbInput = Application.Workbooks.Open(strPath & "\" & strFile)
Set wksInput = wkbInput.Worksheets("Tabelle1")
wksInput.Activate
wksInput.Cells(rngC).Select !!!!! HIer ist jetzt der Haken. Da funktioniert nicht
Selection.Copy
meins.Activate
MySheet.Activate
MySheet.Cells(7 + delta, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
.....
Hättest Du hierfür auch noch einen Tipp?
AW: was für ein Textfeld? owT
Rudi

Hallo,
ohne Select und Activate!
  If TextBox1 <> "" Then
arrRows = Split(TextBox1, ",")
Set rngC = wksInput.Rows(arrRows(0))
For i = 1 To UBound(arrRows)
Set rngC = Union(rngC, wksInput.Rows(arrRows(i)))
Next
rngC.Copy
MySheet.Cells(7 + delta, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If

Gruß
Rudi
AW: was für ein Textfeld? owT
Ingo

Hallo Udo,
nochmals eine Frage. Den Befehl "rngC.Copy" möchte ich nicht an dieser Stelle im Programm verweden sondern erst später.
Sobald ich das andere Dokument geöffnet habe soll er mir die Zeilen die in rngC abgelegt sind aus dem aktuellen Dokument kopieren.
Irgenwie bekomme ich das nicht hin. Hättest Du nochmals eine Tipp?