Hallo,
ich habe folgenden Programmcode. Im Sheet Transferebene werden Daten in bestimmten Spalten aufgeführt. Ich möchte die Monatsendwerte von den Monatsanfangswerten abziehen und diese Differenz auf das jeweilige Jahr/unterschiedliches Sheet) und Monat unterschiedlicher Monat ablegen.
Ich habe jetzt ein Array zusammengebaut machmal funktioniert das ganze aber genauso oft tritt ein Laufzeitfheler auf siehe (fettgedruckt)
Mit dem Ifbefehl möchte ich im Vorfeld feststellen, um welchen Monat es sich handelt, so das der Monat am richtigen Ort der jeweiligen Tabell angewählt wird.
Die Daten werden im Transfersheet in zeile 33 abgelegt und dann auf den jeweiligen sheets Jahr in einer vertikalen spalte übertragen.
die variable e greift das jeweilige jahr ab das auf jedem Sheet am gleichen Ort hinterlegt ist!!
Sub summierung()
Dim Ende As Long
Dim Anfang As Long
Dim Ergebnis As Long
Dim Endwert As Long
Dim i As Integer
Dim e As String
Dim z As Integer
Dim y As String
z = 2
e = Range("E1").Value
If Range("D1").Value = 1 Then y = "B"
If Range("D1").Value = 2 Then y = "C"
If Range("D1").Value = 3 Then y = "D"
If Range("D1").Value = 4 Then y = "E"
If Range("D1").Value = 5 Then y = "F"
If Range("D1").Value = 6 Then y = "G"
If Range("D1").Value = 7 Then y = "H"
If Range("D1").Value = 8 Then y = "I"
If Range("D1").Value = 9 Then y = "Y"
If Range("D1").Value = 10 Then y = "K"
If Range("D1").Value = 11 Then y = "L"
If Range("D1").Value = 12 Then y = "M"
varMitglieder = Array("I", "N", "S", "AB", "AK", "AO", "AY", "DR", "DX", "EG", "EL", "HA", "HH", "IO", "IT", "IY", "JE", "JN", "JR", "JV", "JY", "KB", "KJ", "KV", "KZ", "LD", "KF", "GS", "CQ", "AT")
i = 0
Do Until i = 30
Anfang = Range(varMitglieder(i) & "1").Value ''''hier kommt hin und wieder eine Störmeldung -> manchmal nicht (Laufzeitfehler)
Ende = Range(varMitglieder(i) & "65536").End(xlUp).Row
' Ansprechen der Variable Ende
Endwert = Range(varMitglieder(i) & Ende).Value
Ergebnis = Endwert - Anfang
Range(varMitglieder(i) & "33") = Ergebnis
Sheets("Transferebene").Range(varMitglieder(i) & "33").Copy
Sheets("Transferebene").Paste Destination:=Sheets("" & e & "").Range(y & z)
i = i + 1
z = z + 1
Loop
End Sub
|