Excel-VBA - how, um effizient zu kopieren mehrerer Zellen aus einer Datei in die andere?
derzeit bin ich struggeling mit den folgenden:
Ich habe zwei Excel-Dateien. Eine Datei enthält eine Menge von Daten, die andere wird verwendet, um es zu bewerten.
Jetzt brauche ich, um effizient kopieren von Daten von der Quelle zu der Ziel-Arbeitsmappe. Die Quelle datapattern, die der folgenden ähnelt:
x A B C D E F G H I
1 Oct bla bla bla bla bla bla bla bla
2 75 66
3 Nov bla bla IMT Frm bla bla IMT Frm
Wo bla steht, uninteressante Daten, in Spalte A steht der Monat (wichtig) und IMT ist wichtig, die Daten, das ist die Ursache, warum ich das Tue. Auch, Frm bedeutet, dass die Zelle eine Formel enthält, sondern als einen Wert und muss bewahrt werden/wiederhergestellt.
Darüber hinaus die Formatierung der Zellen der Ziel-Datei erhalten werden muss (erreicht werden kann mit .PasteSpecial).
Die Ziel-Arbeitsmappe wird genau gleich Aussehen, das weglassen der Hälfte emty Zeile "2".
Jede Zeile hat etwa 10 wertvolle Einträge. Wie würde ich die meisten effizient in der Lage sein, kopieren Sie die Daten in die zweite Arbeitsmappe?
Bitte lassen Sie mich wissen, wenn es mehr Informationen, die ich liefern könnte.
Vielen Dank für Ihre Zeit!
EDIT: Beispiel screenshot
Klarstellung: Der screenshot zeigt die Quell-Platte. Die wichtige information ist die eine, die ausgewählt ist in der ss. Das Blatt geht auf der rechten Seite, wie hier (bis auf BF). Ich muss eine Kopie jeder sechste Eintrag. Die Ziel-sheet sieht genau das gleiche (wobei die Hälfte leer mittlere Reihe), außer der notwendigen Informationen, die Sie in der Quelle ist eine Formel, aber es muss der Wert in der Zielgruppe.
Vielen Dank für die Hilfe!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein Beispiel code, erhalten Sie gehen in die richtige Richtung:
Versuchen Sie dies:
Set wb2 = Workbooks.Open vFile
ist kürzer und sichereralso nach etwas mehr Forschung, ich glaube, ich habe eine Antwort gefunden.
Bitte, korrigieren oder verbessern Sie mich, wenn mein Ansatz ist aus/falsch/nicht ideal.
Ich bin mit einer Schleife und dann einfach assingin der Wert... ich Frage mich, kommend von C++, wenn dies der "kürzeste" Weg, es zu tun? sieht aus wie ein aufgeblähter for-Schleife, um mir...
Danke Euch allen für Eure Zeit, input und Ratschläge!
Range("A2").Resize(300,20).Value
gibt ein array von300
x20
Werte ab Zelle"A2"
. Sie kann weisen Sie ein array, um eine Reihe in eine ähnliche Mode.Range("B4:C9,E4:D9")
. Alternativ können Sie es in VBA durch modyfing das array direkt. Nach einer anderen mit dieser Frage, um eine vollständige Antwort.