Hallo,
ich habe in der gleichen Datei wie das Makro ein Arbeitsblatt "Makros", wo ich ein Command-Button eingefügt habe und das Makro "ÜbersichtErstellen" zugewiesen habe.
Nun wird das (halbfertige) Ergebnis im Blatt "Makros" gezeigt und nicht im Blatt "Übersicht". Wenn ich es aber im VBA-Editor die Einzelne Schritte mit F8 durchgehe, dann passt alles wunderbar.
FRAGE: Wie löse ich das Problem?? Ich dachte mit "ThisWorkbook.Sheets("Übersicht").Range("A1").Select", aber es funktioniert nicht :-(
Sub ÜbersichtErstellen()
'Inhalte in Blätter "Abzug" und "Übersicht" leeren
'ThisWorkbook.Sheets("Übersicht").Range("A1").Select
'ThisWorkbook.Sheets("Abzug").Range("A1:AB200").Clear
ThisWorkbook.Sheets("Übersicht").Range("A1:AB200").Clear
ThisWorkbook.Sheets("Abzug").Range("A1:AB200").Copy Destination:=ThisWorkbook.Sheets("Übersicht").Range("A1:AB200")
'Spalten löschen
ActiveSheet.Columns("A:A").Delete
ActiveSheet.Columns("B:C").Delete
ActiveSheet.Columns("C:C").Delete
ActiveSheet.Columns("D:N").Delete
ActiveSheet.Columns("H:J").Delete
ActiveSheet.Columns("J").Delete
'Zahl vom Textformat ins Zahlenformat umwandeln
Dim LetzteZeile As Long
Dim x As Long
LetzteZeile = Range("C200").End(xlUp).Row
For x = 2 To LetzteZeile
Cells(x, 3) = CLng(Cells(x, 3))
Cells(x, 3).NumberFormat = "General"
Next
'Werte dazuschreiben
ActiveSheet.Range("k1").Value = "Summe"
ActiveSheet.Range("N1").Value = "check"
'falls neue KST dazu kommen, dann Range "J4:J6" anpassen
ThisWorkbook.Sheets("Makros").Range("J4:J6").Copy Destination:=ThisWorkbook.Sheets("Übersicht").Range("K2")
'Errechnen der Summen pro Kostenstelle
Dim Arg1 As Range 'the range I want to sum
Dim Arg2 As Range 'criteria range
Dim Arg3 As Variant 'the criteria as VARIANT
Dim i As Integer
Dim LastColumn As Integer: LastColumn = 12
Set Arg1 = ThisWorkbook.Sheets("Übersicht").Range("H1:H200") 'Arg1 and Arg2 must be the same size
Set Arg2 = ThisWorkbook.Sheets("Übersicht").Range("C1:C200") 'Arg1 and Arg2 must be the same size
Set Arg3 = ThisWorkbook.Sheets("Übersicht").Range("K2:K13") 'criteria can have different size
'falls neue KST dazu kommen, dann Range letzten Wert von i anpassen - je nach Zeilenanzahl
For i = 2 To 4
ThisWorkbook.Sheets("Übersicht").Cells(i, LastColumn) _
= Application.WorksheetFunction.SumIfs(Arg1, Arg2, Arg3.Cells(i - 1, 1).Value)
Next
'Errechnen der Gesamtsumme + Check
Cells(1, 12).Formula = "=SUM(L2:L15)"
Cells(1, 15).Formula = "=SUM(H:H)-L1"
End Sub
|