Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1220to1224
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

Über Inputbox namen suchen, kopieren und einfügen.

Über Inputbox namen suchen, kopieren und einfügen.
Hans
Hallo liebe Experten.
Ich bin immernoch auf der Suche nach einem Code.
Und zwar möchte ich in einem Tabellenblatt nach einem Namen suchen der z.B. in Spalte K steht.
Dabei darf es keine Rolle spielen ob er groß oder klein geschrieben ist.
Die Zeilen die diesen Namen enthalten sollen dann komplett kopiert werden und in eine neue Excelldatei eingefügt werden. Wenn möglich soll die Formatierung gleich bleiben, also auch Spaltenbreite und so weiter.
Diese neue Datei soll dann unter dem gleichen Namen und in den gleichen Ordner gespeichert werden, wie die Datei aus der die Daten kopiert wurden, allerdings soll am Ende _Hr.Name.xls stehen.
Die ganze Suchfunktion würde ich gerne über eine Inputbox machen.
Wäre super wenn mir da jemand weiterhelfen könnte.
Wäre auch super wenn der Code etwas erklärt werden würde, da ich noch nicht so fit bin mit der Materie.
MfG.: Hans
AW: Über Inputbox namen suchen, kopieren und einfügen.
11.07.2011 22:11:15
Josef

Hallo Hans,
vorab ein paar Fragen.
  • Gibt es in der Liste nur Männer, oder auch Frauen? (wegen des _Hr.)

  • Soll der exakte Name gefunden werden, oder auch Teiltreffer? (Z. B. "maier" findet auch "Maierhuber")
  • Soll nur in Spalte K gesucht werden?


« Gruß Sepp »

Anzeige
AW: Über Inputbox namen suchen, kopieren und einfügen.
11.07.2011 22:39:04
fcs
Hallo Hans,
hier mein Vorschlag aus meinem Bestand, etwas angepasst an deine Wunschliste (kopieren in neue Datei).
Gruß
Franz
Sub aSuchen_Name()
Dim vAuswahl
Do
vAuswahl = InputBox(Prompt:="Bitte zu suchenden Namen eingeben", _
Title:="Name Suchen und Kopieren")
If vAuswahl  "" Then
Call Suchen_Kopieren(wksQuelle:=ActiveSheet, varSuchen:=vAuswahl, _
Spalte:=11, ZeileStart:=2)
Else
Exit Do
End If
Loop
End Sub
Sub Suchen_Kopieren(wksQuelle As Worksheet, varSuchen, _
Optional Spalte As Long = 1, Optional ZeileStart As Long = 1)
'Durchsucht eine Spalte der Quelltabelle nach dem Suchbegriff und _
kopiert gefundene Zeilen in die Zieltabelle. Gesucht wird nach Übereinstimmumg _
des gesamten Zellwertes
'wksQuelle  = Tabellenblatt in dem gesucht werden soll
'wksZiel    = Tabelle in die die gefundenen Zeilen kopiert werden sollen
'varSuchen  = Suchbegriff
'Spalte     = Nr. der zu durchsuchenden Spalte
'ZeileStart = Nr. der Zeile ab der gesucht werden soll
Dim rngZelle As Range, ZeileZiel As Long, strZelle1 As String, rngBereich As Range
Dim ZeileLetzte As Long
Dim wbNeu As Workbook, sName As String, wksZiel
With wksQuelle
'letzte Datenzeile in Suchspalte der Quelltabelle
ZeileLetzte = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If ZeileLetzte >= ZeileStart Then
'Suchbereich setzen
Set rngBereich = .Range(.Cells(ZeileStart, Spalte), .Cells(ZeileLetzte, Spalte))
'Suchbegriff suchen
Set rngZelle = rngBereich.Find(What:=varSuchen, LookIn:=xlValues, _
lookat:=xlWhole)
If rngZelle Is Nothing Then
MsgBox "Suchbegriff """ & varSuchen & """ nicht gefunden!"
Else
sName = rngZelle.Text
If wbNeu Is Nothing Then
'Neue Arbeitsmappe orbereiten
Set wbNeu = Workbooks.Add(Template:=xlWBATWorksheet) 'Mappe mit Standardtabelle _
evtl. hier als eine Vorlage mit einer vorformatieren Tabelle angeben als Template
Set wksZiel = wbNeu.Worksheets(1)
'Spaltenformate kopieren
wksQuelle.UsedRange.EntireColumn.Copy
wksZiel.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
ZeileZiel = 0 'Startzähler für Zeilen im Zielblatt
End If
'1. Fundstelle merken
strZelle1 = rngZelle.Address
Do
ZeileZiel = ZeileZiel + 1
rngZelle.EntireRow.Copy Destination:=wksZiel.Cells(ZeileZiel, 1)
'nächste Fundstelle suchen
Set rngZelle = rngBereich.FindNext(After:=rngZelle)
Loop Until rngZelle.Address = strZelle1
wksZiel.Activate
Range("A1").Select
'Name der neuen Datei ermitteln
With wksQuelle.Parent
sName = Left(.FullName, InStrRev(.FullName, ".") - 1) & " " & sName
End With
With wbNeu
'Fileformat ggf. anpassen
.SaveAs Filename:=sName, FileFormat:=xlWorkbook, addtomru:=False
MsgBox "Fertig mit Suchen und Kopieren"
.Close
End With
End If
Else
MsgBox "Keine Daten im Suchbereich der Quell-Tabelle"
End If
End With
End Sub

Anzeige
AW: Über Inputbox namen suchen, kopieren und einfügen.
12.07.2011 09:26:40
Hans
Hallo Franz.
Vielen lieben Dank für den Super Code und die tolle Erklärung!
Zwei Probleme hab ich allerdings noch.
Es werden alle Daten soweit in eine neue Datei kopiert, auch die Formatierung passt soweit.
Es wird allerdings nicht unter dem Namen gespeichert. Da kommt eine Fehlermeldung, wo 400 steht.
Das zweite Problem ist das in der Spalte die Namen z.B. so stehen Maier, Franz AA/LET.
Der Code findet nur dann die Zeile wenn ich den Ganzen Eintrag schreibe.
Ich würde allerdings nur nach dem Nachname also Maier, Müller oder so suchen.
Vielen Dank nochmals.
LG Hans.
Anzeige
AW: Über Inputbox namen suchen, kopieren und einfügen.
12.07.2011 21:27:30
fcs
Hallo Hans,
Problem 1 - Fehler 400:
Deine Zelleinträge enthalten Zeichen, die in Dateinamen unzulässig sind: " ' ? / \ |
Ich hab dazu eine Prüfroutine ergänzt, die unzulässige Zeichen durch "_" ersetzt. Hier kannst du auch ein anderes Zeichen vorgeben.
Problem 2: Teiltext-Suche
Dazu kann man in der Find-Methode den Parameter xlWhole durch xlPart ersetzen.
Problem hierbei: bei Namensähnlichkeiten z.B. Mark und Markus erscheinen mehrere Namen in der Datei.
Textdatei mit angepasstem Code:
https://www.herber.de/bbs/user/75681.txt
Ich hab eine Variante erstellt, die ab dem Anfag des Textes die Namen in den Zellen mit dem gesuchten Namen vergleicht. Wird mehr als 1 Treffer gefunden, dann wird nochmals nachgefragt.
https://www.herber.de/bbs/user/75682.txt
Gruß
Franz
Anzeige
AW: Über Inputbox namen suchen, kopieren und einfügen.
13.07.2011 13:18:23
Hans
Hallo Franz.
Danke nochmals!
Bei Deinem zweiten Code kommt Fehler beim Kompelieren.Variabel nicht definiert.
Diese Kommt bei iCollection.
Beim ersten Code ist nachwievor der Fehler 400 aktiv.
MfG.: Hans
AW: Über Inputbox namen suchen, kopieren und einfügen.
14.07.2011 10:11:11
Hans
Hallo Franz.
Ich hab Dir jetzt mal die Datei um die es geht mit angehängt. https://www.herber.de/bbs/user/75702.doc
Es sind natürlich normalerweise mehr zeilen mit unterschiedlichen Verantwortlichen.
Der Name der Datei ist übrigens der den die Datei schon zu Anfang hat, nur als Zusatz mit dem Namen des Verantwortlichen der dann hinten mit _Hr. Name angefügt wird. Also die Datei soll heißen 110712_LoP_Schleifen_Hr.Hiller.xls
Ist es Möglich auch den Namen unten wo normal Tabelle1 steht den Name der Datei zuzuweißen?
Vielen Lieben Dank schon mal im voraus!
LG Hans
Anzeige
AW: Über Inputbox namen suchen, kopieren und einfügen.
15.07.2011 12:40:47
fcs
Hallo Hans,
es wäre natürlich etwas einfacher gewesen, wenn du das Tabellenblatt mit ein paar Datenzeilen, ggf. mit Dummydaten als Exceldatei hochgeladen hättest und nicht als Bild in einem Worddokument.
Hier eine Exceldatei erstellt unter Excel 2007. Ich hoffe, dass ich im Makro keine Funktionen eingebaut hab, die unter Excel 2003 noch nicht vorhanden waren.
Das ganze wird dadurch etwas erschwert, das in Spalte G ja auch mehrere Mitarbeiter mit gleichem Familiennamen vorkommen können. da musste ich einige Prüfungen einbauen, so dass der Dateiname nicht automatisch vergeben wird, sondern manuell angepasst werden muß.
Im Makro werden jetzt auch noch die 1. Zeile der Quelle (Spaltentitel) kopiert und einige Einstellungen aus den "Seite einrichten"-Registern.
Gruß
Franz
https://www.herber.de/bbs/user/75719.xls
Anzeige
AW: Über Inputbox namen suchen, kopieren und einfügen.
15.07.2011 14:04:48
Hans
Hallo Franz.
Danke für die super Arbeit!
Das mit dem Excel Dokument hatte ich versucht, ist jedoch jedes mal eine Fehlermeldung gekommen.
Ein schönes WE wünsche ich!
MfG.: Hans

358 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige