Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Excel VB Makro - Suchen und Ersetzen zwischen 3 Tabellen

Mitglied: Froschkoenig-LR

Froschkoenig-LR (Level 1) - Jetzt verbinden

15.10.2019, aktualisiert 13:33 Uhr, 240 Aufrufe, 7 Kommentare

Hallo zusammen,

ich würde gerne 3 Tabellen eines bestehenden Excel-Dokuments (.xls) vergleichen und die Zeilen übertragen.
Im Internet wird zu einem Makro über Visual-Basic geraten, um so ein Vorhaben sinnvoll zu realisieren.

Natürlich begab ich mich gleich auf die Suche, da es ja reichlich Makro-Templates für Excel im Internet gibt, aber wie es eben so ist nicht maßgeschneidert auf meine Vorstellung.
Hinzu kommt, dass keine Visual-Basic Programmierkenntnisse vorhanden sind.

Aber vielleicht hat jemand von euch ein Quellcode aus früheren Tagen noch herumliegen, der nur noch angepasst werden müsste...das wäre natürlich ein Traum.

Kurzum, ich erläutere was das Makro genau tun soll:

1. Wenn in Spalte "D" in Tabelle "COR" "Keine Mängel" steht, nimm Nummer aus Spalte "A" in Tabelle "COR" und suche/ersetze in Spalte "A" in Tabelle "PRO" oder Tabelle "VER" ab Zeile 8 den Zeileninhalt der Spalten "B-F".
2. Wenn in Spalte "D" in Tabelle "COR" "Reparatur erforderlich" steht, nimm Nummer aus Spalte "A" in Tabelle "COR" , suche/ersetze in Spalte "A" in Tabelle "PRO" oder Tabelle "VER" ab Zeile 8 den Zeileninhalt der Spalten "B-F", markiere die gesamte Zeile rot und kopiere den Zeileninhalt von Spalten "B-F" aus Tabelle "COR" nach Tabelle ""Reparatur erforderlich".

Kann mir jemand weiterhelfen?
Das Makro würde mir den Alltag jedenfalls enorm erleichtern.

SG,
Froschkönig
Mitglied: 141320
15.10.2019, aktualisiert 16.10.2019
Das Makro würde mir den Alltag jedenfalls enorm erleichtern.
Na dann prost
https://we.tl/t-yjkSgiBj1N

Gruß
Bitte warten ..
Mitglied: Froschkoenig-LR
16.10.2019 um 07:18 Uhr
Guten Morgen nc6400,

vielen Dank für den Quellcode, habe mich riesig darüber gefreut.

Habe diesen heute früh getestet und es erscheint beim betätigen des Buttons "Start Macro" folgende Fehlermeldung:
"Objekt erforderlich"

Habe versucht nach bestem Wissen die Debugfunktion zu nutzen, worüber ich vielleicht sehe wo ich im Quellcode hängen bleibe. (siehe Screenshot)

Was mache ich falsch?
2 - Klicke auf das Bild, um es zu vergrößern
1 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 141320
16.10.2019, aktualisiert um 10:53 Uhr
Hatte nachträglich nur eine Variable vom Typ her falsch deklariert, nochmal runterladen ist korrigiert.

Tschö.
Bitte warten ..
Mitglied: Froschkoenig-LR
16.10.2019 um 11:20 Uhr
Hi,

du hattest ja nur den Quellcode angepasst, da ich nur diesen übernommen habe.
Dennoch wird die genannte Fehlermeldung beim Schritt in die zweite Zeile (siehe Bild) generiert...

Woran kann dies liegen?
1 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 141320
LÖSUNG 16.10.2019, aktualisiert um 12:51 Uhr
Zitat von Froschkoenig-LR:

Hi,

du hattest ja nur den Quellcode angepasst, da ich nur diesen übernommen habe.
Nochmal vom neuen Link runterladen den ich oben angepasst habe https://we.tl/t-yjkSgiBj1N !!! Funktioniert einwandfrei in der Demo-Datei.

Dennoch wird die genannte Fehlermeldung beim Schritt in die zweite Zeile (siehe Bild) generiert...

Woran kann dies liegen?
Dann hast du es falsch angepasst/bearbeitet!
Bitte warten ..
Mitglied: Froschkoenig-LR
17.10.2019 um 06:23 Uhr
Hallo nc6400,

du hattest recht, habe die Datei neu geladen, meinen Inhalt testweise rein kopiert und getestet.
Es funktioniert.

Werde den Ablauf die nächsten Tage ausführlicher testen, hoffe nicht dass noch etwas hinzukommt.

Vielen Dank nochmal.

SG
Bitte warten ..
Mitglied: Froschkoenig-LR
30.10.2019, aktualisiert um 12:30 Uhr
Guten Morgen,

ich müsste diesen Fall noch einmal aufrollen.

Mir ist aufgefallen, dass bei dem Import neue Nummern in Spalte A der Arbeitsmappe COR die nicht in den Spalten A der Arbeitsmappen PRO oder VER enthalten sind NICHT übernommen werden.

Können diese Zeilen in Arbeitsmappe COR & PRO am Ende angehängt werden, mit 3 Leerzeilen vorweg?

Hier der soweit funktionierende Quellcode:
01.
Sub Datenübernahme()
02.
    Dim shCOR As Worksheet, shPRO As Worksheet, shVER As Worksheet, shREPARATUR As Worksheet, colKeineMängel As New Collection, colReparaturErforderlich As New Collection
03.
    Dim c As Range, firstAddress As String, itm As Variant, tbl As Variant, col As Variant
04.
    
05.
    Set shCOR = Sheets("COR")
06.
    Set shPRO = Sheets("PRO")
07.
    Set shVER = Sheets("VER")
08.
    Set shREPARATUR = Sheets("REP")
09.
    
10.
    MsgBox "Datenübernahme gestartet...", vbInformation
11.
    With shCOR
12.
        Set rngSearch = .Range("D2:D" & .Cells(Rows.Count, "D").End(xlUp).Row)
13.
        ' Suche "Keine Mängel"
14.
        Set c = rngSearch.Find("Keine Mängel", LookIn:=xlValues)
15.
        If Not c Is Nothing Then
16.
            firstAddress = c.Address
17.
            Do
18.
                colKeineMängel.Add c.Offset(0, -3).Resize(1, 6)
19.
                Set c = rngSearch.FindNext(c)
20.
            Loop While Not c Is Nothing And c.Address <> firstAddress
21.
        End If
22.
        ' Suche "Reparatur erforderlich"
23.
        Set c = rngSearch.Find("Reparatur erforderlich", LookIn:=xlValues)
24.
        If Not c Is Nothing Then
25.
            firstAddress = c.Address
26.
            Do
27.
                colReparaturErforderlich.Add c.Offset(0, -3).Resize(1, 6)
28.
                Set c = rngSearch.FindNext(c)
29.
            Loop While Not c Is Nothing And c.Address <> firstAddress
30.
        End If
31.
    End With
32.
    
33.
    For Each tbl In Array(shPRO, shVER)
34.
        With tbl
35.
            Set rngSearch = .Range("A8:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
36.
            For Each col In Array(colKeineMängel, colReparaturErforderlich)
37.
                For Each itm In col
38.
                    Set c = rngSearch.Find(itm.Cells(1, 1).Value, LookIn:=xlValues)
39.
                    If Not c Is Nothing Then
40.
                        firstAddress = c.Address
41.
                        Do
42.
                            itm.Copy Destination:=c
43.
                            If itm.Cells(1, 4).Value = "Reparatur erforderlich" Then
44.
                                c.EntireRow.Interior.Color = vbRed
45.
                            End If
46.
                            Set c = rngSearch.FindNext(c)
47.
                        Loop While Not c Is Nothing And c.Address <> firstAddress
48.
                    End If
49.
                Next
50.
            Next
51.
        End With
52.
    Next
53.
    For Each itm In colReparaturErforderlich
54.
    Set rngDest = shREPARATUR.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
55.
        itm.Copy Destination:=rngDest
56.
        rngDest.EntireRow.Interior.Color = vbRed
57.
    Next
58.
    MsgBox "Datenübernahme erfolgreich abgeschlossen!", vbInformation
59.
End Sub
Viiielen Dank für die Hilfe.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Such- und Vergleichsfunktion
gelöst Frage von oesi1989Microsoft Office15 Kommentare

Hallo zusammen, ich habe 2 Tabellen mit Name, Vorname und Arbeitgeber. 1. Tabelle Name Vorname Geb-Datum Arbeitgeber Straße Ort ...

Microsoft Office
Excel-Makro
gelöst Frage von yuki13Microsoft Office7 Kommentare

Hallo Zusammen!! :-) Ich bin nicht so fit in Excel Makros und wollte mich hier erkundigen, ob mir jemand ...

Microsoft Office
Excel Makro Hilfe
gelöst Frage von freshman2017Microsoft Office8 Kommentare

Moin Moin! Ich würde gerne mit Excel - Kombinationen für Artikelnummern erstellen. Könnte hierbei bereits heraus finden, dass ein ...

Microsoft Office
Excel Makro zerstört SVerweis
gelöst Frage von schwalbepilotMicrosoft Office4 Kommentare

Hallo, anbei ein Makro welches sich alle Excel Dateien eines Ordners vornimmt und einen Zellbereich färbt und die Formel ...

Neue Wissensbeiträge
MikroTik RouterOS

Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik

Anleitung von aqui vor 3 TagenMikroTik RouterOS

1. Allgemeine Einleitung: Das folgende Tutorial gibt einen Überblick über die dynamische VLAN Zuweisung von WLAN und LAN Clients ...

Humor (lol)
Würde man Frauen in IT-Klassen einteilen
Information von Henere vor 5 TagenHumor (lol)19 Kommentare

wollen, gäbe es folgende Varianten: Die Internet-Frau: Man muss bezahlen, um sich Zugang zu ihr zu verschaffen. Die Server-Frau: ...

Sicherheits-Tools

TrendMicro WorryFree Business Security 10.0 SP1 - neuer Patch 2179 (Korrekturupdate) verfügbar!

Tipp von VGem-e vor 6 TagenSicherheits-Tools

Servus, grad eben entdeckt, nachdem Patch 2178 zurückgezogen wurde: Gruß

Administrator.de Feedback
Entwicklertagebuch: Tracking und Werbung
Information von admtech vor 10 TagenAdministrator.de Feedback3 Kommentare

Hallo Administrator User, wir haben unser Tracking auf das Matomo Tool umgestellt. Damit hosten wir die Webanalyse ab sofort ...

Heiß diskutierte Inhalte
Ubuntu
Linux Ubuntu VNC IP
Frage von 141835Ubuntu58 Kommentare

Wie finde ich bei Linux Ubuntu die IP-Adresse vom VNC Server heraus???

Windows Server
Domaincontroller Windows Server 2003 durch 2016 ersetzen
Frage von MilordWindows Server18 Kommentare

Hallo zusammen, eventuell kann einer von euch weiterhelfen. Ich stecke aktuell etwas fest und komme nicht richtig weiter. Folgende ...

Batch & Shell
Wiederkehrende Ausgabe in .csv ausblenden
Frage von chkdskBatch & Shell15 Kommentare

Guten Tag zusammen, ich habe folgendes Powershell Skript geschrieben, welches mit alle AD Gruppen inkl NTFS Berechtigungen eines gewünschten ...

Hyper-V
Hyper-V-Host rebootet - einige wenige Gäste haben danach Ping-Zeiten von über 400ms!
Frage von DerWoWussteHyper-V14 Kommentare

Moin an alle Hyper-V Admins! Hat jemand außer mir schon einmal Folgendes erlebt? Hyper-V auf Server 2019. Server startet ...