Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zelleninhalt suchen und den Inhalt von 2 Spalten daneben ausgeben

Frage Entwicklung VB for Applications

Mitglied: poopie1971

poopie1971 (Level 1) - Jetzt verbinden

09.02.2013 um 15:17 Uhr, 8131 Aufrufe, 4 Kommentare

Hallo Zusammen,
ich habe ein Problem. Ich möchte gerne in Excel mit einem Makro in einer Tabellenspalte nach einem Wort (einer beruflichen Tätigkeit) suchen, welches in mehreren Zeilen vorkommen kann. Wenn da Wort gefunden wurde, dann soll der Zelleninhalt von den beiden danebenliegenden Zellen (Name und Vorname) in einem neuen Tabellenblatt ausgegeben werden und dann weitergesucht werden bis zum Ende des Tabellenblattes. Im neuen Tabellenblatt soll alles in Zeilen untereinander angeordnet werden, selbstverständlich ohne Freizeilen. Eigentlich ist es ein Filtern, allerdings soll das ganze ohne Filter sondern per Makro angewendet werden.
Der Suchbegriff soll über eine Messagebox vorher abgefragt werden.

Kann mir hier jemand helfen?

Danke und viele Grüße vom Poopie
Mitglied: Pjordorf
09.02.2013 um 15:54 Uhr
Hallo,

Zitat von poopie1971:
allerdings soll das ganze ohne Filter sondern per Makro angewendet werden.
OK. Wie weit bist du denn? Wo im VBA Code steckst du fest bzw. kommst du nicht weiter? Den Code hier mit Coda Tags posten.

Gruß,
Peter
Bitte warten ..
Mitglied: poopie1971
09.02.2013 um 16:21 Uhr
Ich habe noch garnicht angefangen weil ich nicht weiß was da zu tun ist.
Ein Beispiel Code wäre nicht verkehrt.
Bitte warten ..
Mitglied: bastla
09.02.2013 um 19:20 Uhr
Hallo poopie1971!

Etwa so:
01.
Sub Filtern() 
02.
Quelle = "Tabelle1" 'Name der Tabelle mit den Quelldaten 
03.
QSpalte = "B" 'Spalte, in welcher gesucht wird 
04.
Spaltenanzahl = 2 'Anzahl daneben liegender Spalten, aus denen die Inhalte in die Zieldatei übertragen werden sollen 
05.
 
06.
Ziel = "Tabelle2" 'Tabellenname für gefilterte Daten 
07.
AbZZeile = 2 'Eintragen der gefilterten Daten ab dieser Zeile 
08.
ZSpalte = "A" 'Eintragen der gefilterten Daten ab dieser Spalte 
09.
 
10.
Do Until Suche <> "" 'keine leere Eingabe akzeptieren 
11.
    Suche = InputBox("Bitte den Suchbegriff eingeben (oder mit Eingabe von 'Ende' abbrechen):", "Suchbegriff") 
12.
Loop 
13.
If LCase(Suche) = "ende" Then Exit Sub 'Abbruch 
14.
 
15.
Set Q = Worksheets(Quelle) 
16.
Set Z = Worksheets(Ziel) 
17.
ZZeile = AbZZeile 'Startzeile in Zieldatei setzen 
18.
 
19.
With Q.Columns(QSpalte) 
20.
    Set Gefunden = .Find(Suche, LookIn:=xlValues) 'gesamte Spalte der Quelldatei durchsuchen 
21.
    If Not Gefunden Is Nothing Then 'nur wenn der Suchbegriff auch gefunden wurde, die folgenden Schritte durchführen 
22.
        Erste = Gefunden.Address 'erste Fundstelle merken 
23.
        Do 'für alle Fundstellen 
24.
            Z.Cells(ZZeile, ZSpalte).Resize(1, Spaltenanzahl) = Gefunden.Offset(0, 1).Resize(1, Spaltenanzahl).Value 'Werte der Nachbarzellen übertragen 
25.
            ZZeile = ZZeile + 1 'Zeilennummer der Zieltabelle erhöhen 
26.
            Set Gefunden = .FindNext(Gefunden) 'nächste Fundstelle suchen 
27.
        Loop Until Gefunden.Address = Erste 'bis wieder erste Fundstelle gefunden wird (= alle erledigt) 
28.
    End If 
29.
End With 
30.
MsgBox "Fertig." 
31.
End Sub
Das "Drumherum" (zB vorweg Zieltabelle löschen, Spaltenüberschriften, etc) überlasse ich Dir ...

Grüße
bastla

P.S.: Ich hoffe es ist ok, dass ich für die Eingabe keine Messagebox verwendet habe ...
Bitte warten ..
Mitglied: poopie1971
10.02.2013 um 20:32 Uhr
Hallo bastla,
Dein Tip war perfekt. Ich habe ihn noch etwas modifiziert.

Danke vielmals.
Grüße
Poopie
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

VB for Applications
Mehrere Spalten Durchsuchen und Ergebnisse in neuer Tabelle Ausgeben (3)

Frage von Mr.Green zum Thema VB for Applications ...

Batch & Shell
gelöst Exceltabelle mit Script nach Inhalt suchen (11)

Frage von Crank69 zum Thema Batch & Shell ...

Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...