AW: Daten in Übersicht übernehmen
20.08.2011 18:29:28
fcs
Hallo Claudia,
hier mal ein Makrobeispiel mit verschiedenen Varianten.
Gruß
Franz
Sub Formeln()
' Formeln Makro
Dim wksZiel As Worksheet, wks1 As Worksheet, wks2 As Worksheet
Dim Zeile As Long, Spalte As Long, iOffset As Long
Dim SpalteA As Long, ZeileA As Long, sFormel As String, iBlatt As Integer
Dim dSumme As Double
Set wksZiel = Worksheets("Übersicht")
Set wks1 = Worksheets(3)
Set wks2 = Worksheets(ActiveWorkbook.Sheets.Count) 'letztes Tabellenblatt
'Summe alle Werte in Zelle A1 (R1C1)
Zeile = 15: Spalte = 3
wksZiel.Cells(Zeile, Spalte).FormulaR1C1 = "=SUM('" & wks1.Name & ":" & wks2.Name & "'!R1C1) _
'Summe der Werte in Spalte B in den Zeilen 20 bis 32 (Jan bis Dez und Jahr) in der Ü _
bersicht in _
Zeile 15 in den Spalten 5 bis 13 der Zeile berechnen
'Mit Summenformel
SpalteA = 2 'Spalte in der Auswertung
ZeileA = 20 'Startzeile der Werte in der Auswertung
Zeile = 15 'Zeile in Übersicht in der Formeln eingetragen werden sollen
Spalte = 5 'Startspalte in der Formeln eingetragen werden sollen
For iOffset = 0 To 12
sFormel = "=SUM('" & wks1.Name & ":" & wks2.Name & "'!R" & 20 + iOffset & "C" & SpalteA & _
")"
wksZiel.Cells(Zeile, Spalte).Offset(0, iOffset).FormulaR1C1 = sFormel
Next
'Werte einzeln zusammenzählen
SpalteA = 2 'Spalte in der Auswertung
ZeileA = 20 'Startzeile der Werte in der Auswertung
Zeile = 16 'Zeile in Übersicht in der Formeln eingetragen werden sollen
Spalte = 5 'Startspalte in der Formeln eingetragen werden sollen
For iOffset = 0 To 12
iBlatt = 3
Set wks1 = Worksheets(iBlatt)
sFormel = "='" & wks1.Name & "'!R" & 20 + iOffset & "C" & SpalteA
For iBlatt = 4 To ActiveWorkbook.Sheets.Count
Set wks1 = Worksheets(iBlatt)
sFormel = sFormel & " + '" & wks1.Name & "'!R" & 20 + iOffset & "C" & SpalteA
Next
wksZiel.Cells(Zeile, Spalte).Offset(0, iOffset).FormulaR1C1 = sFormel
Next
'Werte im Makro summieren und Ergebnis in Übersicht eintragen
SpalteA = 2 'Spalte in der Auswertung
ZeileA = 20 'Startzeile der Werte in der Auswertung
Zeile = 17 'Zeile in Übersicht in der Formeln eingetragen werden sollen
Spalte = 5 'Startspalte in der Formeln eingetragen werden sollen
For iOffset = 0 To 12
dSumme = 0
For iBlatt = 3 To ActiveWorkbook.Sheets.Count
Set wks1 = Worksheets(iBlatt)
dSumme = dSumme + wks1.Cells(20 + iOffset, SpalteA)
Next
wksZiel.Cells(Zeile, Spalte).Offset(0, iOffset).Value = dSumme
Next
End Sub