Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lisboxausgabe................

Lisboxausgabe................
03.11.2007 19:07:05
Sonnenpeter
Hallo,
vor ein paar Tagen hat mit Thomas mit nachfolgender Datei geholfen.
https://www.herber.de/bbs/user/47327.xls
Diese enthält im Wesentlichen eine Userform und den nachfolgende Makrocode.

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
ListBox1.Clear
If TextBox1 = "" Or TextBox1 = " " Then Exit Sub
Dim rng As Range
Dim sAddress As String
Set rng = Sheets("Suchbegriffe").Cells.Find(what:=TextBox1.Text, LookIn:=xlValues,  _
MatchCase:=False)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.GoTo rng, True
If UCase(Left(rng, Len(TextBox1))) = UCase(TextBox1) Then ListBox1.AddItem  _
ActiveCell.Text
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Set rng = Nothing
Application.ScreenUpdating = True
End Sub


Wie muss ich es anstellen, dass ich durch eine Klick auf den in der Listbox aufgeführten Text, diesen und den neben der Zelle (aus der die Daten kommen) stehenden Text in Tabellenblattzellen z.B. in B10 und C10 bekomme?
Gruß Sonnenpeter.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lisboxausgabe................
03.11.2007 19:24:00
Matthias
Hallo
probier mal diese Zeile:
If UCase(Left(rng, Len(TextBox1))) = UCase(TextBox1) Then ListBox1.AddItem ActiveCell.Text & " " & ActiveCell.Offset(0, 1).Text
Userbild

AW: Lisboxausgabe................
03.11.2007 19:32:05
Thomas
Hallo Sonnenpeter,
da zum eintragen das Makro nicht mehr weiß an welcher Stelle (Zelle) der Eintrag gefunden wurde, muß dazu nochmal gesucht werden. Durch Doppelklicken auf den entsprechenden Eintrag wird mit nachfolgendem Makro (muß dann in den Code der UF rein) der Eintrag in das zweite Tabellenblatt geschrieben und die nebenstehende Zelle gleich mit. Alles ausgehend von der Beispieldatei...

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
Dim rng As Range
Dim sAddress As String
Set rng = Sheets("Suchbegriffe").Cells.Find(what:=ListBox1.Value, LookIn:=xlValues,  _
MatchCase:=True)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.GoTo rng, True
Sheets(2).[B10] = ActiveCell
Sheets(2).[C10] = ActiveCell.Offset(0, 1)
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Set rng = Nothing
Application.ScreenUpdating = True
End Sub


Gruß Thomas

Anzeige
AW: Lisboxausgabe................
03.11.2007 21:34:56
Sonnenpeter
Hallo Thomas,
erstmal Danke es funktioniert :-)
Ich habe Dein Makro in der Tabelle Suchbegriffe umgeschrieben bzw. auf meine Wünsche angepasst.
Dim Bereich As Range

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Spalte As Byte
Spalte = 2
If Target.Column = Spalte Then UserForm1.Show
Bereich = ActiveCell.Address
End Sub


Wie bekomme ich es nun hin, dass sich Excel die Zelle auf die DoubleClick erfolgte merkt und beim Klick auf die UserForm in diese Zelle schreibt?


Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
Dim rng As Range
Dim sAddress As String
Set rng = Sheets("Suchbegriffe").Cells.Find(what:=ListBox1.Value, LookIn:=xlValues, _
MatchCase:=True)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.GoTo rng, True
'Funktioniret leider nicht Bereich wird als leer angezeigt
ActiveSheet.[Bereich] = ActiveCell
'ActiveSheet.[C10] = ActiveCell.Offset(0, 1)
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Set rng = Nothing
Application.ScreenUpdating = True
End Sub


Gruß Sonnenpeter

Anzeige
Eintrag in aktive Zelle so:
03.11.2007 22:04:00
Thomas
Option Explicit
Dim Bereich As String

Private Sub UserForm_Initialize()
Bereich = ActiveCell.Address
End Sub



Private Sub TextBox1_Change()
Application.ScreenUpdating = False
ListBox1.Clear
If TextBox1 = "" Or TextBox1 = " " Then Exit Sub
Dim rng As Range
Dim sAddress As String
Set rng = Sheets("Suchbegriffe").Cells.Find(what:=TextBox1.Text, LookIn:=xlValues,  _
MatchCase:=False)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.GoTo rng, True
If UCase(Left(rng, Len(TextBox1))) = UCase(TextBox1) Then ListBox1.AddItem  _
ActiveCell.Text
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Set rng = Nothing
Application.ScreenUpdating = True
End Sub



Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
Dim rng As Range
Dim sAddress As String
Stop
Set rng = Sheets("Suchbegriffe").Cells.Find(what:=ListBox1.Value, LookIn:=xlValues, _
MatchCase:=True)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.GoTo rng, True
'Sollte so funktionieren
ActiveSheet.Range(Bereich) = ActiveCell
'fals nebenstehende Zelle noch gewünscht
ActiveSheet.Range(Bereich).Offset(0, 1) = ActiveCell.Offset(0, 1)
'ActiveSheet.[C10] = ActiveCell.Offset(0, 1)
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Set rng = Nothing
Application.ScreenUpdating = True
End Sub


Gruß Thomas

Anzeige
AW: Eintrag in aktive Zelle so:
03.11.2007 22:46:00
Sonnenpeter
Hallo,
und nochmals Danke für die Mühe.
Funktioniert leider noch nicht.
Das Makro zeigt bei
ActiveSheet.Range(Bereich) = ActiveCell
Laufzeitfehler 1004.
Gruß Sonnenpeter

AW: Eintrag in aktive Zelle so:
03.11.2007 23:07:44
Thomas
Hallo,
hast Du diese Zeilen an den Anfang der Userform geschrieben:
Option Explicit
Dim Bereich As String
sonst wirds nich gehn.
Probiere auch mal ActiveSheet.Range(Bereich).Value = ActiveCell.Value
Für heut erstmal Gute Nacht, Thomas

AW: Eintrag in aktive Zelle so:
04.11.2007 10:43:55
Sonnenpeter
Ok,
war mein Fehler ich hatte
Option Explicit
Dim Bereich As String
übersehen.
Nochmals herzlichen Dank für Deine Hilfe.
Gruß Sonnenpeter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige