Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

TextBox auf Tabellenblatt

Betrifft: TextBox auf Tabellenblatt von: Uwe Hladik
Geschrieben am: 29.07.2008 19:24:38

Hallo an Alle,

kann man folgendes umsetzen.....
In Tabellenblatt 1 hab ich eine Textbox. Die Textbox soll folgende Anweisung bekommen...
lies in Tabellenblatt2 die Spalte D aus und gib mir ab der Zelle wo "Serien" drin steht alle darunter stehenden Zellen aus bis die nächste Leerzelle kommt.
Es ist wohl noch zu beachten das die nächste Zelle unter "Serien" immer leer ist.

Mit meinen bescheidenen VBA Kenntnissen will es nicht gelingen.
Vorab schon mal Dank!
Gruß Uwe

  

Betrifft: AW: TextBox auf Tabellenblatt von: Daniel
Geschrieben am: 29.07.2008 20:13:44

HI
das könnte dieses Makro machen:

Private Sub TextBox1_GotFocus()
Dim Zelle As Range
TextBox1.Text = ""
Set Zelle = Sheets("Tabelle2").Columns(4).Find(what:="Serien").Offset(2, 0)
Do Until Zelle.Value = ""
    TextBox1.Value = TextBox1.Value & Chr(13) & Chr(10) & Zelle.Text
    Set Zelle = Zelle.Offset(1, 0)
Loop
TextBox1.Text = Mid$(TextBox1.Text, 3)
End Sub



das GotFocus-Event wird jedes mal ausgelöst, wenn die Textbox angeklickt wird.

Gruß. Daniel


  

Betrifft: @Daniel von: Uwe Hladik
Geschrieben am: 29.07.2008 21:41:06

Hallo Daniel,

das funktioniert super!!! Besten Dank schon mal dafür!

Eine Frage hätt ich doch noch.
Beim probieren ist mir aufgefallen das er das Wort "Serien" so nicht akzeptiert.
Ich lese aus einer Textdatei alles in Spalte A ein. Dann hole ich es mit =glätten nach Spalte D.
Dein Code auf Spalte A umgesetzt funktioniert bestens.
Mit Spalte D nicht.
Gibts da noch eine technische Änderungsmöglichkeit?
Wenn es zu aufwendig ist, ist es ok. Denn mit deinem Code und Spalte A kann ich auch super leben.

Nochmals vielen Dank für die Hilfe!
Gruß Uwe


  

Betrifft: AW: @Daniel von: Daniel
Geschrieben am: 29.07.2008 21:51:28

HI

das liegt wahrscheinlich daran, daß die .FIND-Funktion noch so eingestellt ist, daß sie in Formeln sucht und nicht in den Werten.
ändere mal die .FIND-Funktion so ab:

.Find(what:="Serien", LookIn:=xlValues)

wenns Schwierigkeiten mit der Suchfunktion gibt, liegt das oft an falsch eingestellten Suchparametern, die werden aus der letzten Suche übernommen. Wie du die Suchparameter im Makro vollständig einstellst, kannst du am einfachsten herausfinden, wenn du die Suche mit dem Makrorekorder aufzeichnest und die Suchparameter dabei variierst.

Gruß, Daniel


  

Betrifft: AW: @Daniel von: Uwe Hladik
Geschrieben am: 29.07.2008 22:23:23

Hi Daniel,

das war auf den Punkt genau!!!
Danke nochmals, auch für die Erklärungen. So hab ich wieder mal was gelernt.

Gruß Uwe


  

Betrifft: AW: TextBox auf Tabellenblatt von: Jens
Geschrieben am: 29.07.2008 20:23:58

Hallo Uwe



Probier mal so:




Private Sub Listbox1_GotFocus()
Dim LoSerie As Long
Dim LoLetzte As Long
Dim LoListe As Long
LoSerie = Range("D:D").Find("Serien").Row + 2
LoLetzte = Range("D" & LoSerie).End(xlDown).Row
ListBox1.Clear
For LoListe = LoSerie To LoLetzte
Worksheets("Tabelle1").ListBox1.AddItem LoListe
Next
End Sub





Gruß aus dem Sauerland



Jens


  

Betrifft: Korrektur.... von: Jens
Geschrieben am: 29.07.2008 20:26:40

Muss natürlich

For LoListe = LoSerie To LoLetzte
Worksheets("Tabelle1").ListBox1.AddItem Cells(LoListe, 4).value
Next

Gruß aus dem Sauerland

Jens


  

Betrifft: AW: Korrektur.... von: Uwe Hladik
Geschrieben am: 29.07.2008 21:45:06

Hallo Jens,

auch mal vielen Dank für deine Hilfe!

Mit der Listbox ist das auch eine gute Möglichkeit.
Jedoch glaub ich hast du den Code so ausgelegt das er vom selben Tabellenblatt einliest.... glaub ich....
Hab ein wenig damit rumgespielt und bekomm ihn so nicht angepasst.

Gruß Uwe
(aus der Südsee von NRW.....Köln-Bonnerbucht :-)


  

Betrifft: AW: Korrektur.... von: Jens
Geschrieben am: 29.07.2008 21:55:25

Hallo Uwe

Dann versuch mal so:

Private Sub Listbox1_GotFocus()
 Dim LoSerie As Long
 Dim LoLetzte As Long
 Dim LoListe As Long
 LoSerie = Worksheets("Tabelle2").Range("D:D").Find("Serien").Row + 2
 LoLetzte = Worksheets("Tabelle2").Range("D" & LoSerie).End(xlDown).Row
 ListBox1.Clear
 For LoListe = LoSerie To LoLetzte
 Worksheets("Tabelle1").ListBox1.AddItem Worksheets("Tabelle2").Cells(LoListe, 4).Value
 Next
 End Sub




Die jeweiligen Tabellenblatt-Namen (Tabelle1, Tabelle2) mußt du dann noch anpassen.


Gruß aus dem Sauerland

Jens


  

Betrifft: @Jens von: Uwe Hladik
Geschrieben am: 29.07.2008 22:21:41

Hi Jens,

so funktioniert es mit der Listbox auch, bis auf das er nicht bis zur nächsten freien Zelle einliest, sondern bis ans ende durch.

Gruß Uwe


  

Betrifft: AW: @Jens von: Uwe Hladik
Geschrieben am: 30.07.2008 14:34:07

Hallo Jens,
mit deiner Listboxidee hab ich jetzt die ganze Nacht mal rumgespielt, und bekomm es einfach nicht hin.
Optimal wäre.....einlesen ab dem vorgegenen Wort aus der Liste.... dann erste leere Zelle ignorieren....weiterlesen bis zur nächsten leeren Zelle.
Die gefundenen Zelleinträge sollten dann in einer Tabelle untereinander ausgegeben werden.

Bei der Recherche bin ich leider auch nicht fündig geworden.

Hoffe du kannst mir da weiter helfen.
Vorab schon mal Dank!
Gruß Uwe


  

Betrifft: AW: @Jens von: Jens
Geschrieben am: 30.07.2008 15:05:57

Hallo Uwe

Ich weiß nicht, wo das Problem liegt.

Hier mal eine Beispiel-Mappe in der das funktioniert.

https://www.herber.de/bbs/user/54212.xls

Ansonsten musst Du Deine Datei mal hochladen.

Gruß aus dem Sauerland

Jens


  

Betrifft: AW: @Jens von: Uwe Hladik
Geschrieben am: 30.07.2008 16:23:28

Hallo Jens,

hab das mal abgespeckt nachgebaut.

https://www.herber.de/bbs/user/54213.xls

... und dank für deine Mühen die ich Dir so aufhalse!!!!

Gruß Uwe


  

Betrifft: AW: @Jens von: Jens
Geschrieben am: 30.07.2008 17:18:28

Hallo Uwe

Dass liegt daran, dass die ursprünglichen Werte über die Glätten()-Funktion dort eingefügt werden.

So sollte es funzen:

https://www.herber.de/bbs/user/54217.xls

Gruß aus dem Sauerland

Jens


  

Betrifft: AW: @Jens von: Uwe Hladik
Geschrieben am: 30.07.2008 17:48:16

Hi Jens,

das ist schon super gut!!!

Ist es noch möglich die Ausgabe der Listboxeinträge in "H" einzeln als Liste auszugeben, als in einer Zelle?
Denke da kann ich mit meinem kleinen Können die Daten besser weiter verarbeiten.

Aber wie gesagt. So läufts schon mal super!

Gruß Uwe


  

Betrifft: AW: @Jens von: Jens
Geschrieben am: 30.07.2008 20:14:15

Hi Uwe

Bekommen wir auch noch hin:

https://www.herber.de/bbs/user/54219.xls

Gruß aus dem Sauerland

Jens


  

Betrifft: AW: @Jens von: Uwe Hladik
Geschrieben am: 30.07.2008 21:02:03

Hallo Jens,

vielen vielen Dank!!!
Funktioniert bestens.
da kann ich ja heut mal früh ins Bett :-)

Na wenn Du mal zum Fantasialand kommst, gibts ein Bier gratis :-)

Gruß Uwe


  

Betrifft: AW: @Jens von: Jens
Geschrieben am: 30.07.2008 21:31:18

Hallo Uwe

Danke für die Rückmeldung und die Einladung :o)

Gruß aus dem Sauerland

Jens


 

Beiträge aus den Excel-Beispielen zum Thema "TextBox auf Tabellenblatt"