Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Wert aus Textbox in Makro schreiben





Frage

Hi Leute ich habe folgendes Problem. Ich habe eine Arbeitsmappe mit mehreren Tabellenblättern. Eines davon ist eine Liste mit Loopnummer (das sind betriebsinterne Nummern für Regler, Motoren usw.) Dieses Tabellenblatt ist normalerweise nicht sichtbar, nur das Eingabetabellenblatt. In diesem Eingabentabellenblatt gebe ich mittels diverser Userforms neue Loopnummern ein, erstelle Berichte über arbeiten an den einzelnen Loops und kann auch Loops löschen. Nun mein Problem. Zum löschen einzelner Loops möchte ich folgendes Makro verwenden: Sub loop_löschen() Sheets("Loopliste").Activate Dim c As Range Application.ScreenUpdating = False For Each c In Range("a3:a2000") If c.Value = "1RJ02" Then c.EntireRow.Delete End If Next c Application.ScreenUpdating = True Sheets("Eingabemaske").Activate Range("a1").Select End Sub Funktioniert ja, nur muß ich eben im Makro die Loopnummer eingeben (hier "1RJ02"). Wie muß ich das Makro umschreiben, damit der Wert aus der Textbox1 der Userform "Loop löschen" automatisch eingetragen wird. Danke im voraus Kaleun

Antwort 1 von Martina

Hallo Du,

versuche doch mal folgendes Macro:

Sub loop_löschen()

Dim löscheLoop
Sheets("Loop Löschen").Select
ActiveSheet.Shapes("Text Box 1").Select
löscheLoop = Selection.Characters.Text
Sheets("Loopliste").Activate
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range("a3:a2000")
If c.Value = löscheLoop Then
c.EntireRow.Delete
End If
Next c
Application.ScreenUpdating = True
Sheets("Eingabemaske").Activate
Range("a1").Select

End Sub

Viele Grüße
Martina

Antwort 2 von Kaleun

@Martina

Funktioniert leider nicht.
In der Zeile
ActiveSheet.Shapes ("TextBox1").select
bringt er eine Fehlermeldung.

Ist es vielleicht möglich, das ich den Wert aus der Textbox1 in eine Zelle schreibe (activecell = textbox1.value) und diese Zelle dann als Zellbezug in das Makro schreibe?

z.B. in Zelle A1 wird der Wert aus der Textbox1 mittels activecell = Textbox1.value eingetragen.

Diesen Wert hole ich mir dann ins Makro (If c.value = ("A1") then ?????

Geht das vielleicht?

Kaleun

Antwort 3 von Kaleun

@Martina

Ich habe die Lösung

Das Makro sieht folgendermaßen aus:

Private Sub CommandButton2_Click()

Range("a1").Select
ActiveCell = TextBox1.Value
Sheets("Loop löschen").Activate
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range("a3:a2000")
If c.Value = Range("a1").Value Then
c.EntireRow.Delete
End If
Next c
Application.ScreenUpdating = True
Range("a1").Select

End Sub

Ich übergebe den Wert aus der Textbox mittels activecell=textbox1.value in Zelle A1

Anschließend übernehme ich mittels
Range("a1").value den Wert aus Zelle A1 in mein Makro.

Und siehe da, es funktioniert.

Gruß Kaleun


Antwort 4 von Martina

@ Kaleun

kontrolliere mal ob der Name der Textbox stimmt. Vielleicht ist es ja auch "Text Box 2" die du ansprechen möchtest. Wenn du nämlich in einer Tabelle eine Textbox erstellst, sie anschließend wieder löschst und dann eine neue Textbox erstellst bekommt diese die Nummer 2. Und dann musst du zwischen Text und Box und der Ziffer jeweils ein Leerzeichen lassen.

Martina

Antwort 5 von Martina

@ Kaleun

ops, hab grad erst deine 2. Antwort gelesen. Super dass du es geschafft hast

Martina

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: