Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wert aus Private Sub Textbox an Makro

Wert aus Private Sub Textbox an Makro
04.06.2020 07:06:06
Daniel
Hallo Zusammen;
ich habe eine User Form mit Eingabefeld erstellt

Private Sub CommandButtonOK_click()
Zeilennummer = TextBox1
MsgBox Zeilennummer
Call orderszeile
' ist auf den Fertig Button gelegt
' Exit window
' Unload Me
End Sub

Mit dem Call rufe ich mein Makro auf, in dem die Eingabe verarbeitet werden soll.
Das Makro schaut in Zelle 1 nach dem Wert und kopiert dann die Zeile in ein anderes _ Tabellenblatt

Sub orderszeile()
Dim i As Long, tLR As Long
Dim tarWks As Worksheet, srcWks As Worksheet
Set srcWks = Worksheets("orders")
Set tarWks = Worksheets("Tabelle3")
With srcWks
For i = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(i, 1).Value = Zeilennummer Then
tLR = tarWks.Cells(Rows.Count, 1).End(xlUp).Row + 1
Debug.Print tLR
With tarWks
.Range(.Cells(tLR, 1), .Cells(tLR, 20)).Value = srcWks.Range(srcWks.Cells(i, 1), _
_
_
_
srcWks.Cells(i, 20)).Value
End With
End If
Next i
End With
End Sub

Nun habe ich das Problem, dass der Wert aus der TextBox nicht in das Makro übernommen wird.
Frage 1 : Wie bekomme ich den Wert in mein Makro ; da muss es doch eine Möglichkeit geben das zu definieren.
Frage 2: Anstelle des "Call" habe ich auch probiert, das Makro innerhalb der Private Sub laufen zu lassen;
allerdings führt das auch nicht zum Erfolg.
Die Messagebox gibt mir den Wert aus, aber das Makro wird nicht ausgeführt.
Kann mnir da bitte jemand einen Denkanstoß geben. Lieben Dank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert an Makro
04.06.2020 07:18:42
hary
Moin
Du kannst Werte auch an Sub uebergeben. Ungetestet, sollte aber so klappen.
Private Sub CommandButtonOK_click()
Call orderszeile(CLng(TextBox1))
End Sub

Sub orderszeile(zeilennummer As Long)
MsgBox zeilennummer
End Sub

gruss hary
AW: Wert an Makro
04.06.2020 07:23:30
Daniel
Hallo Hary,
vielen Dank ; genau das hat mir gefehlt.
Somit ist das gelöst;
aber ich versuche zu verstehen, warum ich das Makro separat aufrufen muss/kann ,
es aber nicht direkt in der Private Sub zum laufen bekomme.
Woran liegt das?
Anzeige
AW: Wert an Makro
04.06.2020 07:40:53
hary
Moin
Auch ungetestet. Sollte doch so klappen!?
Evtl. lag es daran das du den Textbox wert genommen hast. Textbox gibt auch eine Zahl als Text aus.
Wenn du dann Zahl mit Textzahl vergleichst geht es nicht.
Private Sub CommandButtonOK_click()
Dim zeilennummer As Long, i As Long, tLR As Long
Dim tarWks As Worksheet, srcWks As Worksheet
Set srcWks = Worksheets("orders")
Set tarWks = Worksheets("Tabelle3")
zeilennummer = CLng(TextBox1)
With srcWks
For i = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(i, 1).Value = zeilennummer Then
tLR = tarWks.Cells(Rows.Count, 1).End(xlUp).Row + 1
Debug.Print tLR
With tarWks
.Range(.Cells(tLR, 1), .Cells(tLR, 20)).Value = srcWks.Range(srcWks.Cells(i, 1),  _
srcWks.Cells(i, 20)).Value
End With
End If
Next i
End With
' ist auf den Fertig Button gelegt
' Exit window
' Unload Me
End Sub

gruss hary
Anzeige
AW: Wert an Makro
04.06.2020 07:58:12
Daniel
Hary, Du hast Recht.
So funktioniert es;
Ich habe tatsächlich den Wert Zeilennummer = TextBox1 verwendet.
Ich bin davon ausgegangen, wenn mir der "Wert" in der Messagebox ausgegeben wird, dass ich diesen dann auch weiter verarbeiten kann.
Vielen Dank - so habe ich heute wieder etwas dazu gelernt.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige