Office: Makro erstellen

Helfe beim Thema Makro erstellen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi und guten Tag , Vielleicht kann mir jemand weiterhelfen in Sachen Makro. Ich habe ein Makro erstellt dafür dass ich über eine Eingabemaske ( eine... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von LinusSnoopy, 13. Juli 2023.

  1. Makro erstellen


    Hi und guten Tag ,
    Vielleicht kann mir jemand weiterhelfen in Sachen Makro.
    Ich habe ein Makro erstellt dafür dass ich über eine Eingabemaske ( eine Excel Tabelle ) Daten automatisch in eine andere Excel Datei überträgt. Das funktioniert auch einwandfrei. In dem Makro ist natürlich die Datei aufgeführt in der ich bei der Aufzeichnung übertragen habe. Wenn ich nun unabhängig vom Namen ( Struktur ist immer gleich ) das Makro für jede Datei nutzen möchte unabhängig vom Namen. Wie sieht dann der Eintrag im Makro aus ?
     
    LinusSnoopy, 13. Juli 2023
    #1
  2. Klaus-Dieter Erfahrener User
    Hallo,

    dann lässt du du den Bezug zur Zieldatei weg, dann wirkt das Makro auf die jeweils aktive Datei.
     
    Klaus-Dieter, 13. Juli 2023
    #2
  3. Danke erstmal, habe die Zieldatei ausgeklammert (`Windows("048234_1.xlsm").Activate)
    hatte zwei Excel Dateien offen ( eine davon war die Nachkalkulationen.xlsm), bekomme aber beim Ausführen
    die Fehlermeldung "Index außerhalb des def. Bereichs.




    Sub Prüfung()

    '

    ' Prüfung Makro

    '


    '

    Windows("Nachkalkulationen.xlsx").Activate

    Sheets("Transfer").Select

    Selection.EntireRow.Insert

    Range("E5").Select

    Selection.Copy

    Application.CutCopyMode = False

    Selection.Copy

    Range("E4").Select

    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

    SkipBlanks:=False, Transpose:=False

    Application.CutCopyMode = False

    `Windows("048234_1.xlsm").Activate

    ActiveWindow.SmallScroll Down:=-10

    Range("K4:Q4").Select

    Selection.Copy

    Windows("Nachkalkulationen.xlsx").Activate

    Range("A4").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    `Windows("048234_1.xlsm").Activate

    Range("C1:G1").Select

    Application.CutCopyMode = False

    Selection.Copy

    Windows("Nachkalkulationen.xlsx").Activate

    Range("B4").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    `Windows("048234_1.xlsm").Activate

    Range("A7:G7").Select

    Application.CutCopyMode = False

    Selection.Copy

    Windows("Nachkalkulationen.xlsx").Activate

    Range("C4").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    ActiveWindow.SmallScroll Down:=6

    `Windows("048234_1.xlsm").Activate

    ActiveWindow.SmallScroll Down:=0

    Windows("Nachkalkulationen.xlsx").Activate

    ActiveWindow.SmallScroll Down:=-6

    Windows("048234_1.xlsm").Activate

    Range("AP18").Select

    ActiveWindow.SmallScroll Down:=8

    Range("P30:Q30").Select

    Application.CutCopyMode = False

    Selection.Copy

    Windows("Nachkalkulationen.xlsx").Activate

    Range("D4").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    `Windows("048234_1.xlsm").Activate

    Range("AR30").Select

    Application.CutCopyMode = False

    Range("P31:Q31").Select

    Selection.Copy

    Windows("Nachkalkulationen.xlsx").Activate

    Range("E4").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    `Windows("048234_1.xlsm").Activate

    Range("AV21").Select

    Application.CutCopyMode = False

    ActiveWorkbook.Close (True)

    End Sub
     
    LinusSnoopy, 13. Juli 2023
    #3
  4. Beverly
    Beverly Erfahrener User

    Makro erstellen

    Hi,

    wenn ich deinen Code richtig interpretiert habe sollte es so funktionieren:

    Code:
    Sub Prüfung()
        ' Prüfung Makro
        With Workbookss("Nachkalkulationen.xlsx").Worksheets("Transfer")
            .Range("E4").EntireRow.Insert '<== Zelle anpassen bei der eine Zeile eingefügt werden soll
            .Range("E5").Copy
            .Range("E4").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            ThisWorkbook.Worksheets("Tabelle1").Range("K4:Q4").Copy '<== Tabellenname anpassen
            .Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            ThisWorkbook.Worksheets("Tabelle1").Range("C1:G1").Copy '<==Tabellenname anpassen
            .Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            ThisWorkbook.Worksheets("Tabelle1").Range("A7:G7").Copy '<==Tabellenname anpassen
            .Range("C4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            ThisWorkbook.Worksheets("Tabelle1").Range("P30:Q30").Copy '<==Tabellenname anpassen
            .Range("D4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            ThisWorkbook.Worksheets("Tabelle1").Range("P31:Q31").Copy '<==Tabellenname anpassen
            .Range("E4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False '<== weshalb P31:Q31 nach E4 kopieren? Dorthin wurde doch bereits E5 aus der Zieltabelle kopiert
            .Parent.Close (True)
        End With
    End Sub
    
    Ich nehme an, bei Zeile 4 soll eine Leerzeile eingefügt werden? Falls nicht, musst du das im Code anpassen.
    Da ich nicht weiß, welches die aktive Tabelle in der Mappe mit dem Code ist, habe ich sie einfach "Tabelle1" genannt - musst du selbstverständlich anpassen (an allen Stellen die im Code mit dem entsprechenden Kommentar versehen sind).

    Unklar ist, weshalb du zu Beginn des Codes in der Zieltabelle E5 nach E4 kopierst und am Ende des Codes nochmal P31:Q31 aus der Ausgangsmappe in die Zieltabelle ebenfalls nach E4.


    Makro erstellen GrußformelMakro erstellen Beverly's Excel - Inn
     
    Beverly, 13. Juli 2023
    #4
  5. Danke erstmal,
    Ich werde es morgen mal ausprobieren. Gibt es auch ne Möglichkeit / Codierung dafür, dass ich nicht eine spezielle Tabelle anspreche, sondern diejenige die neben der „Nachkalkulationen „ auch offen ist . Heute heißt sie Tabelle 1 und morgen Tabelle 2 usw. , also „*.xlsx“ . In der Datei Nachkalkulationen werden die entsprechenden Einträge gemacht, und diese werden dann in eine stets wechselnde Datei eingepflegt.
     
    LinusSnoopy, 13. Juli 2023
    #5
  6. Beverly
    Beverly Erfahrener User
    ThisWorkbook ist immer die Arbeitsmappe mit dem Code - also in deinem Fall die Quelldatei, aus der etwas kopiert werden soll. Wenn es die aktive Tabelle der Mappe mit dem Code sein soll, kannst du anstelle ThisWorkbook.Worksheets("Tabelle1") dieses verwenden: ThisWorkbook.ActiveSheet.


    Makro erstellen GrußformelMakro erstellen Beverly's Excel - Inn
     
    Beverly, 13. Juli 2023
    #6
  7. Vielleicht hatte ich mich auch gerade falsch ausgedrückt. Ich habe zwei verschiedene Dateien. Die eine heißt Nachkalkulationen und die zweite hat wechselnde Bezeichnungen. Und aus der festen Datei soll etwas in die variable Datei übertragen werden
     
    LinusSnoopy, 13. Juli 2023
    #7
  8. d'r Bastler
    d'r Bastler Erfahrener User

    Makro erstellen

    Moin Linus,
    Karin hat Dir einen Hinweis gegeben, der deswegen an Deinem Ziel vorbeiführt, weil Du von Arbeitsmappen, sie von Arbeitsblättern redet. Ihre Idee ist aber gut.

    Lege einfach zum Test mal zwei Arbeitsmappen an (müssen noch nicht mal gespeichert werden) und ein Allg. Modul mit folgendem Code:

    Code:
    Option Explicit
    
    Sub WerBinIch()
        MsgBox ThisWorkbook.Name
    End Sub
    
    Sub UndWerNoch()
        MsgBox ActiveWorkbook.Name
    End Sub
    Nun rufst Du die beiden mal aus der einen Mappe, mal aus der anderen auf und Du hast die Lösung.

    Achja: zum Aufruf genügt Alt+F8

    Grüße
     
    Zuletzt bearbeitet: 14. Juli 2023
    d'r Bastler, 14. Juli 2023
    #8
  9. Beverly
    Beverly Erfahrener User
    Und in welcher Arbeitsmappe soll sich der Code befinden - in Nachkalkulation oder in der Mappe mit variablen Namen? Sind beide Mappen bereits geöffnet?



    Makro erstellen GrußformelMakro erstellen Beverly's Excel - Inn
     
    Beverly, 14. Juli 2023
    #9
  10. Beverly
    Beverly Erfahrener User
    Da irrst du dich gewaltig - schau dir meinen Code mal genau an: es werden 2 verschiedene Arbeitsmappen angesprochen. In meinem Post #6 geht es ausschließlich darum, dass man in der Mappe mit dem Code, wenn man den Namen des Tabellenblattes nicht kennt, sich durchaus auf das gerade aktive Tabellenblatt beziehen kann (auch wenn diese Arbeitsmappe nicht die aktive Mappe ist)...


    Makro erstellen GrußformelMakro erstellen Beverly's Excel - Inn
     
    Beverly, 14. Juli 2023
    #10
  11. Erstmal danke für die Codes. Werde es nachher mal ausprobieren
     
    LinusSnoopy, 14. Juli 2023
    #11
  12. d'r Bastler
    d'r Bastler Erfahrener User
    Na, dann habe ich mich wohl mächtig gewaltig geirrt ... Schöne Grüße von der Olsen-Bande.
    Und was ist nun an meinem Ansatz falsch?
     
    d'r Bastler, 14. Juli 2023
    #12
  13. Makro erstellen

    alles gut, hat super geklappt. Danke
     
    LinusSnoopy, 17. Juli 2023
    #13
Thema:

Makro erstellen

Die Seite wird geladen...
  1. Makro erstellen - Similar Threads - Makro erstellen

  2. Bitte um Hilfe bei erstellung eines Makros, chat GPT hängt sich auf

    in Microsoft Excel Hilfe
    Bitte um Hilfe bei erstellung eines Makros, chat GPT hängt sich auf: Hallo Bitte kann mir jemand helfen ich bräuchte ein Makro welches mir eine Liste erstellt aus der Zahlenkombination 0-6. beginnt soll beginnen mit 0 0 0 0 0 0 0 dann 0 0 0 0 0 0 1 aber auch...
  3. Word Makro zum Erstellen von Hyperlinks

    in Microsoft Word Hilfe
    Word Makro zum Erstellen von Hyperlinks: Ihr Lieben! Leider komme ich mit meinen bloßen Kenntnissen der "Suchen&Ersetzen" Funktion und googlen nach einem Skript (s. u.) hier nicht mehr weiter: Ich brauche eine Lösung, um in meinem Word...
  4. Spezialfilter für zusammengehörige Datenblöcke erstellen

    in Microsoft Excel Hilfe
    Spezialfilter für zusammengehörige Datenblöcke erstellen: Hallo zusammen, ich benötige einmal Hilfe für folgendes Thema: Ich habe eine Tabelle mit verschiedenen Indizes, die aber mehrfach vorkommen können Ein Block hat immer die gleiche TN-Nr., den...
  5. Makro erstellen: PDF erstellen und als Mail verschicken.

    in Microsoft Excel Hilfe
    Makro erstellen: PDF erstellen und als Mail verschicken.: Hallo, hatte vor zwei Jahren den Code geschrieben hatte auch gut funktioniert gehabt. Wollte es nun für was anderes nutzen aber dieser Makro funktioniert nicht mehr. Habe in meiner Recherche...
  6. VBA Makro - PDF erstellen und speichern auf lokalem Netzwerk

    in Microsoft Excel Hilfe
    VBA Makro - PDF erstellen und speichern auf lokalem Netzwerk: Hallo zusammen, ich bin gerade dabei eine Excel Tabelle mit einem Makro zu erstellen, die von mehreren Personen genutzt wird. Jetzt stehe ich vor dem Problem, dass der angegebene Pfad nur auf...
  7. Diagramm mit Makro erstellen und formatieren

    in Microsoft Excel Hilfe
    Diagramm mit Makro erstellen und formatieren: Hallo Zusammen Mir stellt sich folgendes Problem: Ich möchte in einem Tabellenblatt, welches je Zeile ein Objekt mit Zahlen umschreibt, die Zahlen graphisch darstellen. Da ich gedenke die Zeilen...
  8. Verwenden einer Sprachausgabe, um ein Makro in Word zu erstellen

    in Microsoft Word Tutorials
    Verwenden einer Sprachausgabe, um ein Makro in Word zu erstellen: Verwenden einer Sprachausgabe, um ein Makro in Word zu erstellen Word für Microsoft 365 Word 2019 Word 2016 Mehr... Weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden