Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Script - Anpassung für aktives Tabellenblatt
#1
Ich benötige für das u.a. Makro eine Anpassung das er die Kopierten Daten in das Aktive Tabellenblatt kopiert und nicht ein extra Tabellenblatt erstellt ich hoffe ihr könnt mir helfen ich muss die liste bis heute Abend fertig haben Sad.

Sub Grundmakro2()
     Dim WBZiel As Workbook, ExportDatei As Variant
     Dim WBQuelle As Workbook, WSZiel As Worksheet
    
     Set WBZiel = ThisWorkbook
    
     'DateiÖffnen Dialog anbieten
     ExportDatei = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xlsx),*.xls", , "Bitte die Datei xyz.xls öffnen ...")
     ExportDatei = CStr(ExportDatei)
     If ExportDatei = "Falsch" Then Exit Sub
    
     'öffnen der ausgewählten Datei
     Set WBQuelle = Workbooks.Open(ExportDatei)
    
     'Kopieren der Tabelle „Tabelle1“ aus Datei „xyz“
    Set WSZiel = WBZiel.Worksheets.Add(After:=WBZiel.Sheets(WBZiel.Sheets.Count))
     WBQuelle.Worksheets("Planungsreport").Cells.Copy WSZiel.Cells(1)
    
     WBQuelle.Close False
     Set WBZiel = Nothing
     Set WBQuelle = Nothing: Set WSZiel = Nothing
    
      End Sub

P.S. das Makro habe ich Dankend aus einem Forum Kopiert da ich selbst wenig Ahnung von VBA habe.

mit freundlichen Grüßen

David
Antworten Top
#2
Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren untereinander?
Der Threadtitel ist übrigens für spätere Recherchen null hilfreich!

Danke.

Gruß,
steve1da
Antworten Top
#3
Ok da hast du recht kann ich denn den Titel nachträglich abändern?
Antworten Top
#4
Hi,

versuchs mal so (wenn Code in Modul steht)


Code:
   'Kopieren der Tabelle „Tabelle1“ aus Datei „xyz“
   'Set WSZiel = WBZiel.Worksheets.Add(After:=WBZiel.Sheets(WBZiel.Sheets.Count))
    WBQuelle.Worksheets("Planungsreport").Cells.Copy ActiveSheet.Cells(1)
Der Link zu den anderen Foren fehlt noch.
Mit freundlichen Grüßen  :)
Michael
Antworten Top
#5
Danke für die Antwort,

leider macht er mit dieser Änderung nur ein leeres neues Tabellenblatt auf. Sad
Antworten Top
#6
Habe eine Möglichkeit gefunden optimal wäre es noch wenn der folgende Teil noch variabel wäre.

    Sheets("Planungsreport").Select





Sub Grundmakro4()
     Dim WBZiel As Workbook, ExportDatei As Variant
     Dim WBQuelle As Workbook, WSZiel As Worksheet
    
     Set WBZiel = ThisWorkbook
    
     'DateiÖffnen Dialog anbieten
     ExportDatei = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xlsx),*.xls", , "Bitte die Datei xyz.xls öffnen ...")
     ExportDatei = CStr(ExportDatei)
     If ExportDatei = "Falsch" Then Exit Sub
    
     'öffnen der ausgewählten Datei
     Set WBQuelle = Workbooks.Open(ExportDatei)
    
     'Kopieren der Tabelle „Tabelle1“ aus Datei „xyz“
    Sheets("Planungsreport").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    WBZiel.Activate
    ActiveSheet.Select
    Cells.Select
    ActiveSheet.Paste
    
      WBQuelle.Close False
     Set WBZiel = Nothing
     Set WBQuelle = Nothing: Set WSZiel = Nothing
    
      End Sub
Antworten Top
#7
Dann hast du diese Zeile nicht als Kommentar definiert, Hochkomma fehlt:

'Set WSZiel .......

In deinem Code kommt nur dort die Anweisung, ein neues Sheet einzufügen.
Mit freundlichen Grüßen  :)
Michael
Antworten Top
#8
Hier noch der gewünschte link zu dem Forum wo ich mir das Grundmakro her geholt habe.

http://www.office-loesung.de/ftopic271668_0_0_asc.php
Antworten Top
#9
Hallo David,

wenn Du in Dein Benutzer-CP gehst, kannst Du Dir alle Deine Themen raussuchen.
Am 27.11. hast Du wohl in 3 Beiträgen ähnliche Fragen gestellt, u.a. wie man diesen Teil variabel gestalten kann:

ActiveSheet.Name = "Planungsreport eFP"

Ich habe Dir geantwortet, dass Du mal nach der INPUTBOX schauen sollst. Hast Du das gemacht?
Wenn Du mit einer Antwort nicht zurecht kommst, dann bleibe zukünftig einfach im Thread und frage nach.

Auch für

Sheets("Planungsreport").Select

kann man den gewünschten Blattnamen mit einer INPUTBOX abfragen.

Das wäre die "einfache" Variante, zumindest für den Programmierer. Man kann es auch für den Anwender einfacher machen Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste