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, 7921 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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
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
Powershell - In Textdatei suchen und ersetzen (1)

Frage von Raaja89 zum Thema Batch & Shell ...

Exchange Server
Inhalt von Postfächern in Exchange löschen (9)

Frage von m.reeger zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...