Office: VBA Code Window change

Helfe beim Thema VBA Code Window change in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Posaune, 15. September 2013.

  1. Posaune Erfahrener User

    VBA Code Window change


    Hallo zusammen, folgenden Code benutze ich um zwischen zwei geöffneten Dateien hin und her zu gehen ( zum Kopieren/Einfügen).
    Code:
     Windows("BTM Mitglieder_Termine 3 4.xlsm").Activate
    Das doofe ist, wenn man den eigenen Dateinamen verändert. muss ich den Code auch ändern. Das würde ich gerne in einem Tabellenblatt machen, weiß aber nicht wie. Folgendes habe ich probiert, funktioniert aber nicht:
    Code:
    Windows(Sheets("Einstellung").Range("A28")).Activate
    Gibt es da eine Lösung? Vielen Dank Gruß Norbert
     
  2. Beverly
    Beverly Erfahrener User
    Hi,

    benutze ThisWorkbook.Worksheets("....").Range("...") um eine Zelle in einem Tabellenblatt der Arbeitsmappe mit dem Code anzusprechen. Außerdem kann man in VBA zu 99% aller Fälle verzichtet werden - so lautet der prinzipielle Code für das Kopieren von einer Arbeitsmappe in eine andere z.B. wie folgt:

    Code:
    ThisWorkbook.Worksheets("Tabelle1").Range("A10").Copy ActiveWorkbook.Worksheets("Tabelle2").Range("Z20")
    Hierbei wird aus Tabelle1 Zelle A10 der Arbeitsmappe mit dem Code nach Z20 der aktiven Arbeitsmappe, Tabelle2 kopiert.

    Bis später,
    Karin
     
  3. Posaune Erfahrener User
    Hallo Karin,
     
  4. Posaune Erfahrener User

    VBA Code Window change

    Nochmal hallo Karin, irgendwie kommen ich mit der Texteingabe hier im Forum nicht mehr so klar. Vielleicht war mein Problem schlecht beschrieben. In der ersten Arbeitsmappe habe ich viele Datensätze eines Vereines. Den Filter ich dabei blende ich Reihen und Spalten aus. Wenn ich die gesamten gefilterten Daten kopiere und eine andere Arbeitsmappe öffne und einfüge, dann habe ich zwar nur die gefilterten Reihen aber die Spalten werden alle eingefügt (auch die beim Filtern ausgeblendet waren). Deshalb habe ich in meinem Makro etwa folgendes gemacht. Kopiere Spalte B:D --> öffne die andere Arbeitsmappe --> einfügen --> Wechsel zurück zur ersten Mappe (Das ist der Code von oben) --< kopiere Spalte H --> wechsele wieder in die Empfängermappe --> einfügen usw. Und dieser Wechsel zwischen den Mappen, den Code wollte ich ändern. Hänge mal den gesamten Code an. Vielen Dank Gruß Norbert
    Code:
    Sub Kasse_export_Excel()
    ' Kasse_export_Excel Makro
        ChDrive Sheets("Einstellung").Range("A25")
        ChDir Sheets("Einstellung").Range("A30")
        
        Range("A4:E4").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.ClearContents
        Range("G4").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.ClearContents
        Range("A4").Select
          Windows("BTM Mitglieder_Termine 3 3.xlsm").Activate  
        Range("B13:D13").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("BTM Mitglieder für Kasse.xlsx").Activate
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Windows("BTM Mitglieder_Termine 3 3.xlsm").Activate
        Range("H13").Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("BTM Mitglieder für Kasse.xlsx").Activate
        Range("D4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Windows("BTM Mitglieder_Termine 3 3.xlsm").Activate
        Range("AB13").Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("BTM Mitglieder für Kasse.xlsx").Activate
        Range("E4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1:E1").Select
        Application.CutCopyMode = False
        ActiveWorkbook.Save
        ActiveWindow.Close
        Range("E2").Select
    End Sub
    
    
     
  5. Beverly
    Beverly Erfahrener User
    beschreibe doch mal ganz genau in Worten, was du ausführst - von welcher Arbeitsmappe aus welchem Tabellenblatt und welchem Zellbereich soll in welche Arbeitsmappe in welches Tabellenblatt und welchen Zellbereich kopiert werden? Wenn das Makro gestartet wird befindest du dich in der Zielarbeitsmappe auf welchem Tabellenblatt in welcher Zelle?

    Bis später,
    Karin
     
  6. Posaune Erfahrener User
    Hallo Karin, klar ich probiere es. Ursprungsarbeitsmappe ist "BTM Mitglieder Termine 3 3.xlsm", in der werden die Daten gefiltert. Dann sollen diese gefilterten Daten in eine andere Arbeitsmappe " BTM Mitglieder für Kasse.xlsx" kopiert werden. Dazu öffne ich die Zielmappe mit Chdrive und Chdir (den Pfad habe ich im Tabellenblatt "Einstellung" Zelle A25 und A30) --> lösche dort erst die alten Daten --> dann wechsele ich wieder zur Ursprungsarbeitsmappe mit " Windows("BTM Mitglieder_Termine 3 3.xlsm").Activate " und nur das soll geändert werden. Wenn ich an der Ursprungsarbeitsmappe weiterentwickle, gebe ich ihr einen anderen Namen "....3 4.xlsm". Wenn ich das mache muss ich alle Makros in den der Titel dieser Arbeitsmappe steht anpassen. Das möchte ich aber in dem Tabellenblatt Einstellung machen (ZelleB25 enthält "BTM Mitglieder_Termine 3 3.xlsm" und das Makro soll sich den Titel von dort holen. z.B. "Windows(Sheets("Einstellung").Range("B25")) - das funktioniert aber leider so nicht. Der Vorteil ist das ich dann den Titel nur einmal ändern muss, nämlich in der Zelle B25. Also das soll so aussehen wir z.B bei ChDir Sheets("Einstellung").Range("A30")
    Ich hoffe das mein Problem jetzt zu verstehen ist. Danke Gruß Norbert
     
  7. Beverly
    Beverly Erfahrener User
    Hi Norbert,

    wie öffnest du mit ChDrive und ChDir eine Arbeitsmappe? Also ich bekomme das nicht hin, denn diese beiden Befehle öffnen keine Arbeitsmappe sondern wechseln nur auf das entsprechende Laufwerk und den entsprechenden Ordner - mein Excel kann das nur mit Workbooks.Open "D:\Test\Tstmappe.xlsx", oder (um es an die Inhalte deiner Zellen A25 und A30 anzupassen) so:

    Code:
    Workbooks.Open Worksheets("Einstellungen").Range("A25") & Worksheets("Einstellungen").Range("A30")
    Eventuell musst du noch "\" ergänzen - ich sehe ja nicht, was in diesen beiden Zellen tatsächlich steht.


    Leider hast du meine Fragen nicht beantwortet, aus welchem Tabellenblatt in welches Tabellenblatt kopiert werden soll. Ich bin mal davon auseggangen, dass aus Tabelle "Einstellungen" nach "Tabelle1" koopiert werden soll - das musst du also an den betreffenden Stellen im folgenden Code anpassen:

    Code:
    Sub Kasse_export_Excel()
    ' Kasse_export_Excel Makro
        Workbooks.Open Worksheets("Einstellungen").Range("A25") & Worksheets("Einstellungen").Range("A30")
        With ActiveWorkbook.Worksheets("Tabelle1") '<== Zieltabelle - Name des Tabellenblattes anpassen!!
          .Range(.Range("A4:E4"), .Range("A4:E4").End(xlDown)).ClearContents
          .Range(.Range("G4"), .Range("G4").End(xlDown)).ClearContents
          ThisWorkbook.Worksheets("Einstellungen").Range(ThisWorkbook.Worksheets("Einstellungen").Range("B13:D13"), _
             ThisWorkbook.Worksheets("Einstellungen").Range("B13:D13").End(xlDown)).Copy
          .Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
          ThisWorkbook.Worksheets("Einstellungen").Range(ThisWorkbook.Worksheets("Einstellungen").Range("H13"), _
            ThisWorkbook.Worksheets("Einstellungen").Range("H13").End(xlDown)).Copy
          .Range("D4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
              :=False, Transpose:=False
          ThisWorkbook.Worksheets("Einstellungen").Range(ThisWorkbook.Worksheets("Einstellungen").Range("AB13"), _
            ThisWorkbook.Worksheets("Einstellungen").Range("AB13").End(xlDown)).Copy
          .Range("E4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
              :=False, Transpose:=False
          Application.CutCopyMode = False
          ActiveWorkbook.Close True
       End With
    End Sub
    Den Namen der Mappe, aus der kopiert werden soll, musst du nicht anpassen oder irgendwo im Tabellenblatt ablegen - das ist durch Verwendung von ThisWorkbook schon realisiert, da sich ThisWorkbook immer auf die Mappe mit dem Code bezieht (wie ich schon geschrieben hatte).

    Testen kann ich den Code nicht, da mir deine Arbeitsmappen nicht vorliegen.

    Bis später,
    Karin
     
  8. Posaune Erfahrener User

    VBA Code Window change

    Hallo Karin, das mit dem Chdir Chdrive ist Quatsch. Das stammt aus dem Makro Export als PDF. Da habe ich mich im Eifer des Gefechts vertan - Sorry. Den entsprechenden Hinweis hast du mir trotzdem gegeben. Das ist Thisworkbook, jetzt klapt das ganz gut. Danke für die Geduld. Gruß Norbert P.s. Warum kann ich bei der Texteingabe hier keinen Absatz, mit Enter, mehr schreiben?
     
  9. Beverly
    Beverly Erfahrener User
    Hi Norbert,

    Hast du vielleicht unter den erweiterten Eisntellungen bei HTML irgendetwas verändert? Bei mir ist "HTML an - Zeilenumbrüche umwandeln" aktiviert und - wie du siehst - funktioniert es mit den Zeilenumbrüchen. Falls das nicht die Ursache sein sollte, musst du dich an den Forenadministrator wenden.

    Bis später,
    Karin
     
  10. Posaune Erfahrener User
    Hallo Karin,
    ja das steht bei mir auch. Nun bin ich an einem anderen Rechner und es funktioniert auch. Mhhh mak schaun.
    Danke für Info.
    Gruß Norbert
     
Thema:

VBA Code Window change

Die Seite wird geladen...
  1. VBA Code Window change - Similar Threads - VBA Code Window

  2. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  3. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  4. VBA Code ohne ergebnis

    in Microsoft Excel Hilfe
    VBA Code ohne ergebnis: Hallo, ich habe einen VBA Code der in meiner Tabelle nicht funktioniert. Kann mir vielleicht jemand bei der Korrektur ggf. weiter helfen? Danke und Gruß Private Sub Worksheet_Change(ByVal Target...
  5. VBA Code Anpassen "Wert Einfügen statt Formel"

    in Microsoft Excel Hilfe
    VBA Code Anpassen "Wert Einfügen statt Formel": Hallo alle zusammen. Ich benötige bitte Hilfe von einem Experten, da ich mit meinem Code unzufrieden bin und dieser bei größeren Datenmengen respektive Zeilen ziemlich langsam wird. Wie müsste man...
  6. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  7. VBA Code " Zeilenhöhe bei Verb. Zellen Funktioniert fasst"

    in Microsoft Excel Hilfe
    VBA Code " Zeilenhöhe bei Verb. Zellen Funktioniert fasst": Hallo Leute dieser Code für Zellenhöhe bei Verbundenen Zellen Funktioniert fast. Ich habe ein Code von jemand anderem bekommen der nicht in einem Forum ist. Ich kann gerade diese Person nicht...
  8. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  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