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 Anfänger Frage
#1
Hallo zusammen, 

Ich bin neu in diesem Forum und auch in der Welt der VBA's. Ich würde behaupten, im "normalen" Excel macht mir kaum einer was vor, jedoch habe ich kaum/keine Ahnung von VBA's, möchte diese aber nun nutzen um mein monatliches Reporting zu vereinfachen und zu automatisieren. 

Folgendes Problem: 

Ich habe als Input 3 Excellisten, die in einem vierten File zusammengeführt werde sollen. Alle Spalten sind gleich, und die Daten soll untereinander eingefügt werden. 
Folgender Ablauf: 
Masterfile soll Makros beinhalten und zuerst die Zellen A2:(ende A) gelöscht werden. 
Danach sollen nacheinander die 3 Inputfiles untereinander eingefügt werden. Problem: Die Anzahl von Zeilen mit Daten kann variieren. Wie kann man das lösen?

Aktueller Stand:
Code:
Sub Makro1()
'
' Makro1 Makro
'

'
    Windows("Daten Tabelle.xlsm").Activate
    Range("A2:A1999999").Select
    Selection.ClearContents
'Hauptfile gereinigt
    Workbooks.Open "C:\...\Daten Eingabe.xlsx"
    Windows("Daten Eingabe.xlsx").Activate
    Range("A2:A999999").Select
    Selection.Copy
    Windows("Daten Tabelle.xlsm").Activate
    Range("A2").Select
    ActiveSheet.Paste

'1. File fertig
Range("C4").Select
    Selection.Copy
    Range("C4").Select
    ActiveSheet.Paste
    Range("A1").Select
    Windows("Daten Eingabe.xlsx").Activate
    ActiveWindow.Close


'2. File beginn
    Workbooks.Open "C:\...\Daten Eingabe 2.xlsx"
    Windows("Daten Eingabe 2.xlsx").Activate
    Rows("2:2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Windows("Daten Tabelle.xlsm").Activate
    Range("A2").Select
    Application.CutCopyMode = False
   
'2. File fertig
    Windows("Daten Tabelle.xlsm").Activate
    Range("C4").Select
    Selection.Copy
    Range("C4").Select
    ActiveSheet.Paste
    Range("A1").Select
    Windows("Daten Eingabe 2.xlsx").Activate
    ActiveWindow.Close
   
End Sub


Gruß

Nick
Antworten Top
#2
Moin,

na, wie geht das denn
Code:
Range("A2:A1999999").Select

bei nur 1.048.576 möglichen Zeilen?
Du merkst schon; es möchte auch bei VBA ganz genau hingeschaut werden ;)


Hast Du Dir schonmal PowerQuery oder PowerPivot angeschaut?
gruß
Marco
Antworten Top
#3
Es steht eigentlich nur auf 999999. Die 1 hab ich eben eingefügt  Undecided

Was ist PowerQuery?
Antworten Top
#4
Zitat:Was ist PowerQuery?


Salopp gesagt würde ich das fast schon zum "normalen" Excel zählen.


Einfach mal googlen oder hier mal einlesen:
http://www.excel-ist-sexy.de/kategorie/power-query/
gruß
Marco
Antworten Top
#5
Habe mir das gerade mal angeguckt und ausprobiert. Die Daten werden jetzt auf 2 Tabellenblättern dargestellt. wie bekomme ich das zusammengefasst?
Antworten Top


Gehe zu:


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