|
VBA - Formelwerte in anderes Sheet |
|
|
|
|
Geschrieben von: Marcus Rose
|
|
Donnerstag, 25. August 2011 um 07:19 Uhr |
|
Bei diesem Excel VBA Beispiel wollen wir Werte, welche mit einer Formel berechnet wurden, aus Tabellenblatt 1 Spalte C in das Tabellenblatt 2 kopieren. Bei jedem Kopiervorgang soll die nächste freie Spalte im Worksheet 2 ermittelt werden.
Tabelle1
|
A |
B |
C |
| 5 |
1 |
3 |
4 |
| 6 |
1 |
3 |
4 |
| 7 |
1 |
3 |
4 |
| 8 |
1 |
3 |
4 |
| 9 |
1 |
3 |
4 |
| 10 |
1 |
3 |
4 |
| 11 |
1 |
3 |
4 |
| 12 |
1 |
3 |
4 |
| 13 |
1 |
3 |
4 |
| 14 |
1 |
3 |
4 |
| 15 |
1 |
3 |
4 |
Wie wir hier erkennen können sind in Spalte C Formeln hinterlegt worden.
Tabelle2
|
A |
B |
C |
D |
| 1 |
|
4 |
4 |
4 |
| 2 |
|
4 |
4 |
4 |
| 3 |
|
4 |
4 |
4 |
| 4 |
|
4 |
4 |
4 |
| 5 |
|
4 |
4 |
4 |
| 6 |
|
4 |
4 |
4 |
| 7 |
|
4 |
4 |
4 |
| 8 |
|
4 |
4 |
4 |
| 9 |
|
4 |
4 |
4 |
| 10 |
|
4 |
4 |
|
Wir setzen unser Vorhaben mit diesem kleinen VBA Code um:
Option Explicit
Sub kopieren()
Dim Loletzte As Long
With Sheets("Tabelle2")
'Freie Spalte in Tabelle2 ermitteln
Loletzte = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
'Kopiervorgang
.Range(.Cells(1, Loletzte), .Cells(10, Loletzte)) = Range("C5:C15").Value
End With
End Sub
|