Thema Datum  Von Nutzer Rating
Antwort
Rot Code funktioniert nicht
27.06.2023 21:32:01 VBA_Noob135
NotSolved
28.06.2023 00:17:07 ralf_b
NotSolved
28.06.2023 09:08:11 Der Steuerfuzzi
NotSolved
01.07.2023 01:11:05 Gast32185
NotSolved
03.07.2023 18:48:49 ralf_b
*****
Solved

Ansicht des Beitrags:
Von:
VBA_Noob135
Datum:
27.06.2023 21:32:01
Views:
764
Rating: Antwort:
  Ja
Thema:
Code funktioniert nicht

Hallo liebe Community,

vorab ich bin in den Themen VBA und allgemein Programmieren eher Neu und deshalb bin ich auch dringend auf Hilfe angewiesen.

 

Im folgenden ein kleiner Überblick, damit jeder weiß was der Code, der mir Probleme bereitet überhaupt machen soll:

Ich habe zwei Excel Mappen, in Mappe 1 stehen in Spalte A unterschiedliche Nummern, in Spalte B ein dazugehöriger Monat. Die Nummern die in Mappe 1 Spalte A stehen findet man auch in Mappe 2 auf verschiedenen Tabellen verteilt wieder.

Meine Aufgabe ist es die Nummern die in Mappe 1 stehen in Mappe 2 ausfindig zu machen und das dazugehörige Datum zwei Zeilen neben der Nummer einzufügen.

Dazu habe ich folgenden Code:

Sub Monat_einfuegen()
    Dim ZielWert As String
    Dim ZielZelle As Range

    ' aktive Zelle ist Start Zelle
    Set ZielZelle = ActiveCell

    ' Schleife, die den Vorgang wiederholt
    Do
        ' Schritt 1: Die aktuelle Zelle kopieren
        ZielZelle.Copy

        ' Schritt 2: Zur Mappe 2 wechseln
        Workbooks("Mappe2.xlsx").Activate

        ' Schritt 3: Den kopierten Inhalt in Mappe 2 suchen
        ZielWert = ZielZelle.Value
        Cells.Find(What:=ZielWert).Activate

        ' Schritt 4: Zurück zu Mappe 1 wechseln
        Workbooks("Mappe1.xlsx").Activate

        ' Schritt 5: Eine Zelle nach rechts navigieren und Inhalt kopieren
        ActiveCell.Offset(0, 1).Copy

        ' Schritt 6: Zu Mappe 2 wechseln
        Workbooks("Mappe2.xlsx").Activate

        ' Schritt 7: Zwei Zellen nach rechts navigieren und Inhalt einfügen
        ActiveCell.Offset(0, 2).PasteSpecial

        ' Schritt 8: Zurück zu Mappe 1 wechseln und zur nächsten Nummer navigieren
        Workbooks("Mappe1.xlsx").Activate
        ActiveCell.Offset(1, -1).Activate

        ' Überprüfen, ob die Zelle STOP enthält
        If ActiveCell.Value = "STOP" Then
            Exit Do ' Schleife beenden, wenn STOP gefunden wurde
        End If
    Loop
End Sub

Der Code ist so aufgebaut, dass bei der ersten Nummer, die in Mappe 1 anvisiert ist, begonnen wird und solange weitermacht bis eine Zelle STOP enthält.

Leider wird beim ausführen des Codes folgender Fehlercode angezeigt:

Falls Ihr irgendwelche Fragen habt, stellt Sie gerne!

Danke im Voraus und VG


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Code funktioniert nicht
27.06.2023 21:32:01 VBA_Noob135
NotSolved
28.06.2023 00:17:07 ralf_b
NotSolved
28.06.2023 09:08:11 Der Steuerfuzzi
NotSolved
01.07.2023 01:11:05 Gast32185
NotSolved
03.07.2023 18:48:49 ralf_b
*****
Solved