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

suchen-finden-kopieren

suchen-finden-kopieren
06.11.2005 18:04:25
Michael
Hallo EXCEL-Fachleute!
Seit eineigen Tagen versuche ich ein Makro >> suchen – finden – zeigen – auswählen - kopieren Es geht um eine Datei, bestehend aus 2 Tabellen. In der Tabelle 2 befinden sich folgende Informationen:
Spalte A = KundenNummer
Spalte B = Name und Vorname
Spalte D = Straße
Spalte G = Ort
Ich möchte folgendes erreichen:
Nach einem Klick auf ein Button erscheint eine Dialogbox (InputBox): „Wonach soll gesucht werden?“.
Nach Eingabe einer Buchstabenkombination z. B. sch in die Dialogbox und nach einer Bestätigung mit OK bzw. Suchen, werden in einem DropDownListenfeld alle die Datensätze aus der Tabelle 2 untereinander zur Auswahl gestellt, die in den Spalten B bis G den Suchbegrif sch beinhalten. Angezeigt werden aber nicht ganze Datensätze sondern nur Inhalte von Zellen B und G z. B.:
Andreas Schmitt München
Paul Schmidt Mainz
Björn Koschwitz Berlin
Anita Braun Braunschweig.
Einer der Kunden wird mit DropDown ausgewählt. Sofort danach soll seine KundenNummer aus der Spalte A in der Tabelle2 in die Zelle D15 in der Tabelle1 eingetragen (kopiert) werden. Die Dialogbox verschwindet danach.
Wenn nichts gefunden wird, kommt eine Info „Nichts gefunden“ und die DialogBox verschwindet nach Bestätigung mit OK.
Mit der gefundenen Kundennummer werden dann weitere Berechnungen durchgeführt (in der Tabelle1). Alles sollte ich also bei aktiver Tabelle1 abspielen.
Kann mir jemand helfen? Ich habe schon mit allen möglichen Formeln (Wenn, Index, Vergleich, Verweis usw.) probiert. Ich habe jedoch nicht das erreicht, was ich haben möchte.
Vielen, vielen Dank im Voraus
Skater

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: http://phorum.excelhost.de/read.php?11,78572,78572
06.11.2005 19:38:37
Skater
Ups!!!
Ich wußte nicht, daß Crossposting unerlaubt ist.
Sorry, ich bin ein Anfänger. Wenn es jedoch so schlimm ist, bitte ich die Administratoren meinen Beitrag zu löschen...
Sorry, wird sich nicht mehr wiederholen.
Skater
AW: http://phorum.excelhost.de/read.php?11,78572,78572
06.11.2005 20:21:42
Klaus-Dieter
Hallo Skater,
du schreibst "von dem, ob und wie ich das Problem lösen werde, hängt sehr viel ab!", in einem anderen Forum hast du geschrieben du "brauchst das ganze Makro". Meinst du wirklich, dir ist damit geholfen, wenn ich (oder jemand anders) dir etwas programmiert, das du dann sehr wahrscheinlich noch nicht einmal erklären kannst?
Deshalb schlage ich vor, du siehst dich mal auf meiner Internetseite um, http://home.arcor.de/excelseite/Index.html da gibt es einiges zum Thema UserForms. Daraus lassen sich Lösungen zusammenstellen, die dem was du da lösen sollst, zumindest nahe kommen. Wenn sich dann noch Fragen ergeben helfe ich dir gerne.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: http://phorum.excelhost.de/read.php?11,78572,78572
07.11.2005 23:27:10
Skater
Hallo Klaus-Dieter,
Excel und seine Möglichkeiten faszinieren mich sehr… Vor einem Jahr war ich ein NULL im Bereich Excel. Heute, nach sehr vielen am PC verbrachten Nächten kann ich - u. a. dank Hilfe von Menschen, die anderen uneigennützig helfen wollen - relativ viel… Ich kann mehr oder weniger komplizierte Aufgaben selbst lösen. Ich glaube, daß ich doch kein Idiot bin und im Stande bin, einiges zu verstehen...
Jetzt stehe ich vor einer (für mich) unlösbaren Aufgabe und habe deshalb in mehreren Foren um Hilfe gebeten… Ich komme einfach ohne fremde Hilfe nicht weiter… Ich habe schon mehrere Board's nach Lösungen durchsucht. Das was ich gefunden habe, habe ich versucht zu kombinieren - leider ohne Erfolg. Ich hatte um das ganze Makro gebeten, weil ich wirklich ratlos bin... Ich stehe leider unter gewaltigem Zeitdruck und es fehlt mir einfach die Zeit, um es mit eigenen Kräften zu bewältigen…
Und ich bin fest davon überzeugt, daß sich in irgendeinem Forum irgendjemand findet, der mich versteht und mir hilft…
Ich bin ein Anfänger und will LERNEN um eventuell später mit anderen meine Kenntnisse und Erfahrungen zu tauschen…
Dankbar für Deine Belehrung verspreche ich nicht aufzugeben...
Skater
Anzeige
war nur ein Tipp!
06.11.2005 22:53:42
Sonnenpeter
Hallo Michael,
war nur ein Tipp!
Du beschäftigst sonst in verschiedenen Foren Menschen, die helfen!
Menschen die in ihrer Freizeit anderen helfen, ist doch eine tolle Sache!
Und, dass sollte so bleiben ;-)))
Gruß Sonnenpeter
AW: war nur ein Tipp!
07.11.2005 21:46:14
Skater2003
Hallo Sonnenpeter,
das, was du geschrieben hast tut verdammte weh… Ich bin kein Parasit, der die Menschen in verschiedenen Foren helfen wollen nur ausbeuten will. Glaube mir, es ist wirklich nicht so…
Ich möchte genau so wie diese Menschen auch in meiner Freizeit anderen helfen… Nur ich bin noch nicht so weit…
Excel und seine Möglichkeiten faszinieren mich sehr… Vor einem Jahr war ich ein NULL im Bereich Excel. Heute, nach sehr vielen am PC verbrachten Nächten kann ich - dank Hilfe von solchen Menschen - relativ viel… Ich kann mehr oder weniger komplizierte Aufgaben selbst lösen. Excel-Formeln sind für mich kein Geheimnis mehr (sogar die km-langen…). Jetzt bin ich gerade dabei, in Makros mich und meine Lernfähigkeit zu testen… In besprochener Datei laufen bereits 4 ziemlich umfangreiche Makros und ich bin stolz auf mich…
Jetzt stehe ich vor einer (für mich) unlösbarer Aufgabe und habe deshalb in mehreren Foren um Hilfe gebeten… Ich komme einfach ohne fremde Hilfe nicht weiter… Und ich bin fest davon überzeugt, daß sich in irgendeinem Forum irgendjemand findet, der mich versteht und mir hilft…
Ich bin ein Anfänger und will LERNEN um eventuell später mit anderen meine Kenntnisse und Erfahrungen zu tauschen…
Das was ich oben geschrieben habe war nicht böse gemeint…. :-))
Michael
Anzeige
AW: suchen-finden-kopieren
06.11.2005 20:27:25
Josef
Hallo Michael!
Lade mal eine Beispielmappe, mit den Relevanten Daten in den richtigen Zellen, hoch,
dann schau ich mal was ich für dich tun kann!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: suchen-finden-kopieren
07.11.2005 22:00:58
Skater2003
Hallo Sepp!
Danke für deine Hilfsbereitschaft.
Ich werde eine Beispielmappe morgen hochladen.
Ursprünglich wollte ich Dir meine Originaldatei liefern, aber sie ist relativ groß (tausende von Daten) und beinhaltet zuviel von unrelevantem Müll (mehrere Tabellen, Formeln, kleinere Makros usw.)…
Deswegen muß ich eine einfache Beispieldatei neu erstellen, damit du mein Problem besser verstehst…
Ich freue mich schon auf Deine Unterstützung!
Danke im Voraus!
Bis morgen!
Michael Keller
Anzeige
AW: suchen-finden-kopieren
08.11.2005 18:21:33
Skater2003
Hallo Josef Ehrensberger!
Ich habe - wie versprochen - eine Beispieldatei hochgeladen (https://www.herber.de/bbs/user/28222.xls).
Herzlichen Dank im Voraus für deine Bemühungen.
Skater2003
AW: suchen-finden-kopieren
08.11.2005 22:58:08
Josef
Hallo Michael!
Viel Spaß!
https://www.herber.de/bbs/user/28232.xls
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: suchen-finden-kopieren
08.11.2005 23:55:10
Skater2003
DANKE !!!
Du bist genial. Es ist ein echtes Zauberstück!
Herzlichst!
Michael
AW: suchen-finden-kopieren
10.11.2005 18:44:57
JustineMaria
Hallo!
Also ich bedanke mich auch für die Lösung. Dieses Makro (nach einem kleinen Umbau) kann ich bei mir anwenden.
Allerdings habe ich den Suchbereich auf ("B:G") erweitert, damit der Suchbegriff auch in den Spalten C bis G gesucht werden kann.
In der „Musterlösung“ werden im Listenfeld die Fundstelle in B sowie der Inhalt von D, also B+2 in der „Fundzeile“ aufgelistet. In der Musterdatei sieht es so aus:
‘ListBox1.AddItem rngSearch
‘ListBox1.List(ListBox1.ListCount - 1, 1) = rngSearch.Offset(0, 2)
Was und wie muß man hier ändern, damit im Listenfeld die Inhalte von B, D und G angezeigt werden, unabhängig davon, in welcher Spalte der Suchbegriff lokalisiert wurde?
Momentan ist es so: wenn der Suchbegriff in der Spalte G gefunden wird, werden Inhalte von G und I aufgelistet. Wünschenswert wären jedoch B D und G.
BIG BIG THX für jede Hilfe!
JustineMaria
Anzeige
AW: suchen-finden-kopieren
10.11.2005 19:18:34
Josef
Hallo Justine Maria!
Tausche diesen Code im Modul des UF aus!
Private Sub cmdSearch_Click()
'Suchen
Dim rngSearch As Range
Dim strFirst As String

If txtSearch = "" Then Exit Sub

ListBox1.Clear

With Sheets("Kunden")
  
  Set rngSearch = .Range("B:G").Find(What:=txtSearch, LookAt:=xlPart, after:=.Range("B65536"))
  
  If Not rngSearch Is Nothing Then
    strFirst = rngSearch.Address
    
    Do
      
      ListBox1.AddItem .Cells(rngSearch.Row, 2) '"B"
      ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngSearch.Row, 4) '"D"
      ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngSearch.Row, 7) '"G"
      
      Set rngSearch = .Range("B:G").FindNext(rngSearch)
      
    Loop While Not rngSearch Is Nothing And strFirst <> rngSearch.Address
    
  Else
    
    ListBox1.AddItem "--- Keine Fundstellen! ---"
    
  End If
  
End With

End Sub


Ausserdem musst du in den Eigenschaften der Listbox, die Spaltenbreite der dritten
Spalte ändern. Momentan ist die Breite der Spalte "0" und damit ist sie nicht sichtbar!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: suchen-finden-kopieren
10.11.2005 23:08:13
JustineMaria
Danke!
Es funktioniert!
JustineMaria
AW: suchen-finden-kopieren
11.11.2005 00:15:21
JustineMaria
Hallo Sepp!
Ich habe etwas voreilig reagiert.
Ich bitte um Entschuldigung.
Ich habe es getestet. Als Testvorlage habe ich die von dir hochgeladene Datei (28232.xls) genommen (ich glaube - du auch). Und es funktioniert leider nicht.
Und zwar:
1. In der Listenbox werden lediglich Inhalte von Spalten B und D angezeigt. Inhalt der Spalte G ist nicht sichtbar.
2. Bei "Auswahl übernehmen" kommt zu einem Laufzeitfehler '13' - Typen unverträglich.
Habe ich etwas falsch gemacht?
Danke vielmals für deine Bemühungen!
JustineMaria
Anzeige
AW: suchen-finden-kopieren
13.11.2005 20:37:26
JustineMaria
Hallo Sepp!
Sei bitte nicht sauer. Ich weiß, ich bin lästig. Aber ich quäle mich schon seit 3 Tagen und kann nicht herausfinden warum die „Suchprozedur“ mit der „Übernameprozedur“ nicht mitspielen will.
Ich wäre für jeden Hinweis sehr verbunden.
Hier noch einmal der gesamte Code:

Private Sub cmdCancel_Click()
'Schliessen
Unload Me
End Sub


Private Sub cmdOK_Click()
'Auswahl übernehmen
With ListBox1
If .ListIndex > -1 Then
If Left(.Text, 3) <> "---" Then
Sheets("Angebot").Range("B11") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 1)
Sheets("Angebot").Range("B13") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 2)
Sheets("Angebot").Range("B15") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 4)
Sheets("Angebot").Range("B17") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 6) & _
", " & Sheets("Kunden").Cells(.List(.ListIndex, 2), 7)
Unload Me
Else
Exit Sub
End If
Else
MsgBox "Bitte treffen Sie eine Auswahl!", 48, "Hinweis"
End If
End With
End Sub


Private Sub cmdSearch_Click()
'Suchen
Dim rngSearch As Range
Dim strFirst As String
If txtSearch = "" Then Exit Sub
ListBox1.Clear
With Sheets("Kunden")
Set rngSearch = .Range("B:G").Find(What:=txtSearch, LookAt:=xlPart, after:=.Range("B65536"))
If Not rngSearch Is Nothing Then
strFirst = rngSearch.Address
Do
ListBox1.AddItem .Cells(rngSearch.Row, 2) '"B"
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngSearch.Row, 4) '"D"
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngSearch.Row, 7) '"G"
Set rngSearch = .Range("B:G").FindNext(rngSearch)
Loop While Not rngSearch Is Nothing And strFirst <> rngSearch.Address
Else
ListBox1.AddItem "--- Keine Fundstellen! ---"
End If
End With
End Sub


Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
cmdOK_Click 'Bei Dopelklick auf Listboxeintrag wird dieser übernommen!
End Sub


Private Sub txtSearch_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then cmdSearch_Click   'Mit der ENTER-taste wird die Suche gestartet!
End Sub


Private Sub UserForm_Click()
End Sub

Anzeige
AW: suchen-finden-kopieren
13.11.2005 20:40:14
JustineMaria
Hallo Sepp!
Sei bitte nicht sauer. Ich weiß, ich bin lästig. Aber ich quäle mich schon seit 3 Tagen und kann nicht herausfinden warum die „Suchprozedur“ mit der „Übernameprozedur“ nicht mitspielen will.
Ich wäre für jeden Hinweis sehr verbunden.
Hier noch einmal der gesamte Code:

Private Sub cmdCancel_Click()
'Schliessen
Unload Me
End Sub


Private Sub cmdOK_Click()
'Auswahl übernehmen
With ListBox1
If .ListIndex > -1 Then
If Left(.Text, 3) <> "---" Then
Sheets("Angebot").Range("B11") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 1)
Sheets("Angebot").Range("B13") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 2)
Sheets("Angebot").Range("B15") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 4)
Sheets("Angebot").Range("B17") = Sheets("Kunden").Cells(.List(.ListIndex, 2), 6) & _
", " & Sheets("Kunden").Cells(.List(.ListIndex, 2), 7)
Unload Me
Else
Exit Sub
End If
Else
MsgBox "Bitte treffen Sie eine Auswahl!", 48, "Hinweis"
End If
End With
End Sub


Private Sub cmdSearch_Click()
'Suchen
Dim rngSearch As Range
Dim strFirst As String
If txtSearch = "" Then Exit Sub
ListBox1.Clear
With Sheets("Kunden")
Set rngSearch = .Range("B:G").Find(What:=txtSearch, LookAt:=xlPart, after:=.Range("B65536"))
If Not rngSearch Is Nothing Then
strFirst = rngSearch.Address
Do
ListBox1.AddItem .Cells(rngSearch.Row, 2) '"B"
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngSearch.Row, 4) '"D"
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngSearch.Row, 7) '"G"
Set rngSearch = .Range("B:G").FindNext(rngSearch)
Loop While Not rngSearch Is Nothing And strFirst <> rngSearch.Address
Else
ListBox1.AddItem "--- Keine Fundstellen! ---"
End If
End With
End Sub


Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
cmdOK_Click 'Bei Dopelklick auf Listboxeintrag wird dieser übernommen!
End Sub


Private Sub txtSearch_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then cmdSearch_Click   'Mit der ENTER-taste wird die Suche gestartet!
End Sub


Private Sub UserForm_Click()
End Sub

AW: suchen-finden-kopieren
14.11.2005 21:15:33
JustineMaria
ICH HAB'S !!!
so funktioniert es (damit andere auch davon haben):
___________________________

Private Sub cmdOK_Click()
'Auswahl übernehmen
With ListBox1
If .ListIndex > -1 Then
If Left(.Text, 3) <> "---" Then
Sheets("Angebot").Range("B11") = .List(.ListIndex, 0)
Sheets("Angebot").Range("B13") = .List(.ListIndex, 1)
Sheets("Angebot").Range("B15") = .List(.ListIndex, 3)
Sheets("Angebot").Range("B17") = .List(.ListIndex, 5) & " " & .List(.ListIndex, 6)
Unload Me
Else
Exit Sub
End If
Else
MsgBox "Bitte treffen Sie eine Auswahl!", 48, "Hinweis"
End If
End With
End Sub


Private Sub cmdSearch_Click()
'Suchen
Dim rng As Range
Dim wks As Worksheet
Dim sFirst As String, sFind As String, strWidth As String
Dim iCnt As Integer, n As Integer, lastCol As Integer
Set wks = Sheets("Kunden")
lastCol = wks.Range("IV3").End(xlToLeft).Column
With ListBox1
.Clear
.ColumnCount = lastCol + 1
For iCnt = 1 To .ColumnCount - 1
strWidth = strWidth & "100;"
Next
strWidth = strWidth & "0"
.ColumnWidths = strWidth
sFind = txtSearch
Set rng = wks.Range("A4:IV65536").Find(What:=sFind, LookIn:=xlValues, _
LookAt:=xlPart, after:=wks.Range("IV65536"))
If Not rng Is Nothing Then
sFirst = rng.Address
Do
.AddItem wks.Cells(rng.Row, 1)
For iCnt = 2 To lastCol + 1
.List(n, iCnt - 1) = wks.Cells(rng.Row, iCnt)
Next
.List(n, .ColumnCount - 1) = rng.Row
n = n + 1
Set rng = wks.Range("A4:IV65536").FindNext(rng)
Loop While rng.Address <> sFirst
Else
ListBox1.AddItem "--- Keine Fundstellen! ---"
End If
End With
End Sub

____________________
Gruß!
JustineMaria

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige