Zellenformatierung VBA
23.04.2008 12:12:31
Boris
folgender Hintergrund: ich kopiere einen Bereich eines Quellarbeitsblattes einer Datei in ein Zielarbeitsblatt einer anderen Datei, mit folgenden Befehlen:
strBereich = "A1:" & wsQuelle.Cells.SpecialCells(xlCellTypeLastCell).Address
wsQuelle.Range(strBereich).Copy wsZiel.Cells(1, 1)
wsZiel.Range(strBereich).Value = wsZiel.Range(strBereich).
So erreiche ich, dass nur wirklich benutzte Zellen kopiert werden (teilweise große Datenmengen vorhanden), die Zellformatierung übernommen wird und im Ergebnis nur Werte in der Zieldatei stehen (ohne Verknüpfungen). Das funktioniert alles ganz gut soweit.
Lösche ich jedoch in der Quelldatei Spalten oder Zeilen, so wird beim Kopiervorgang nur der neue Bereich in der Zieldatei überschrieben, so daß die alten Spalten stehenbleiben (ich hoffe es ist klar was ich meine).
Vor dem Kopiervorgang möchte ich deshalb in der Zieldatei den Inhalt der beschriebenen Zellen löschen, und sämtliche Formatierungen (Rahmen, Hintergrund, Schriftgröße usw) auf den Standard zurücksetzen. Wie und mit welchen Befehlen erreiche ich das? Kann ich das in einem Schritt für einen strBereich lösen oder muss ich jede Zelle einzeln ansprechen.
Zur Info: die Zellen dürfen nicht gelöscht werden, da sich sonst die Zellbezüge in Formeln zerschiessen.
Falls das Problem unklar ist, bitte einfach nachfragen.
Gruß, Boris
Anzeige