zyclop
Erfahrenes Mitglied
Ich habe nun ein anderes Problem...ich werde es versuchen so gut wie möglich zu beschreiben.
Ausgangslage:
Ich lese aus einem Sheet Daten aus. Diese trage ich dann in ein anderes Sheet. Jedoch gibt mir das nun ganz komische Phänomene oder wie man das schreibt. auf jeden Fall habe ich eine Prozedur welche das macht.
Hier stimmt das Ergebnis nicht weil das 2 Fehlt. Auf Linie 6 müsste in der ersten Spalte 2 stehen und nicht drei. Das selbe gilt für die anderen Spalten. Sie sind verschoben.
Wenn ich nun bei
das + 1 wegnehme bekomme ich folgendes Resultat
Hier scheint auf den ersten blick alles gut, aber wenn Ihr genau hinschaut ist ab der vierten Linie in der ersten Spalte alles verkehrt. Das 4 müsste drei Zeilen weiter unten sein.
Hat jemand eine Ahnung wie ich das Problem lösen kann Komme wirklich nicht weiter. Bei bedarf lade ich auch die ganze xls Datei rauf.
grz zyclop
Ausgangslage:
Ich lese aus einem Sheet Daten aus. Diese trage ich dann in ein anderes Sheet. Jedoch gibt mir das nun ganz komische Phänomene oder wie man das schreibt. auf jeden Fall habe ich eine Prozedur welche das macht.
Code:
Sub Spesen_EXPORT()
'Deklaration der Variablen
Dim Spe_Spalt_Counter As Integer
Dim Spe_Zeile_Counter As Integer
Dim BereichExport As String
Dim MonatText As String
Dim TagZahl As Integer
Dim intJahr As Integer
Dim Counter As Integer
Spe_Zeile_Counter = 28
Spe_Spalt_Counter = 5
Counter = 1
'-------------------------------------------------------------
'Funktion zum sagen wieviele Tage dieser Monat hat
MonatText = ActiveSheet.Name
Select Case MonatText
Case "Januar": TagZahl = 31
Case "Februar": TagZahl = 28
Case "März": TagZahl = 31
Case "April": TagZahl = 30
Case "Mai": TagZahl = 31
Case "Juni": TagZahl = 30
Case "Juli": TagZahl = 31
Case "August": TagZahl = 31
Case "September": TagZahl = 30
Case "Oktober": TagZahl = 31
Case "November": TagZahl = 30
Case "Dezember": TagZahl = 31
Case Else
MsgBox "Achtung dieser Monat " & "''" & MonatText & "''" & " existiert nicht." & vbCrLf & vbCrLf _
& "Folgende Monate existieren: Januar, Februar, März, April, Mai, Juni," _
& "Juli, August, September, Oktober, November und Dezember. Bitte Passen" _
& " Sie den Arbeitsblatt-Namen unten an."
End Select
'-------------------------------------------------------------
'Falls Februar kontrollieren ob Schaltjahr
If MonatText = "Februar" Then
intJahr = Range("AF6").Text
Schalt = fncSchaltjahr(intJahr)
If Schalt = True Then
TagZahl = "29"
Else
TagZahl = "28"
End If
Else
End If
'-------------------------------------------------------------
TagZahl = TagZahl + 5
Do While Spe_Zeile_Counter < 37
Spe_Spalt_Counter = 5
'Überprüfung ob Zeile 32, falls Ja Counter Plus eins damit die Zeile übersprungen wird
If Spe_Zeile_Counter = 32 Then
Spe_Zeile_Counter = Spe_Zeile_Counter + 1
End If
'-------------------------------------------------------------
std_summe = Cells(Spe_Zeile_Counter, 5)
If std_summe = 0 Then
Else
Do While Spe_Spalt_Counter < TagZahl
Spesen = Cells(Spe_Zeile_Counter, Spe_Spalt_Counter)
If Spesen > 0.1 Then
Spe_Spalt_Counter_verw = Spe_Spalt_Counter + 1
Spe_Zeile_Counter_verw = 20
Do While Spe_Zeile_Counter_verw > 7
Stunden = Cells(Spe_Zeile_Counter_verw, Spe_Spalt_Counter_verw)
std_summe = Cells(Spe_Zeile_Counter, 5)
If Stunden > 0.1 Then
Exp_BST = Cells(Spe_Zeile_Counter_verw, 3) 'schreibe bst in variable
Exp_KST = Cells(Spe_Zeile_Counter, 4) 'schreibe kst in variable
Exp_ANZ = std_summe 'schreibe anzahl in variable
Exp_DAT = LastFri 'schreibe datum in variable
Exp_NAM = Range("AF3").Text 'schreibe namen in variable
Exp_MNR = Range("AF4").Text 'schreibe mitarbnr in variable
'Funktion zur überprüfung wo ins Export geschrieben werden soll
Do While LeerZeil = False
BereichImport = "A" & Counter
test = Sheets("Export").Range(BereichImport)
If test = "" Then
LeerZeil = True
LeeresA = "A" & Counter
Else
Counter = Counter + 1
End If
Loop
'-------------------------------------------------------------
'Schreiben dieser Info in die Exporttabelle
BereichImport = "B" & Counter
Sheets("Export").Range(BereichImport) = Exp_KST
BereichImport = "A" & Counter
Sheets("Export").Range(BereichImport) = Exp_BST
BereichImport = "C" & Counter
Sheets("Export").Range(BereichImport) = Exp_MNR
BereichImport = "D" & Counter
Sheets("Export").Range(BereichImport) = Exp_NAM
BereichImport = "E" & Counter
Sheets("Export").Range(BereichImport) = Exp_DAT
BereichImport = "F" & Counter
Sheets("Export").Range(BereichImport) = Exp_ANZ
'-------------------------------------------------------------
Counter = Counter + 1
Spe_Zeile_Counter_verw = Spe_Zeile_Counter_verw - 1
Spe_Zeile_Counter = Spe_Zeile_Counter + 1
Else
Spe_Zeile_Counter_verw = Spe_Zeile_Counter_verw - 1
End If
'Spe_Zeile_Counter_verw = Spe_Zeile_Counter_verw - 1
Loop
End If
Spe_Spalt_Counter = Spe_Spalt_Counter + 1
Loop
End If
Spe_Zeile_Counter = Spe_Zeile_Counter + 1
Loop
End Sub
Code:
1 1.1 1337 Herr TEST 26.12.2008 1
2 2.2 1337 Herr TEST 26.12.2008 2
3 3.3 1337 Herr TEST 26.12.2008 3
4 4.4 1337 Herr TEST 26.12.2008 4
1 1050/5 1337 Herr TEST 26.12.2008 1.1
3 1070/5 1337 Herr TEST 26.12.2008 1.2
4 1080/5 1337 Herr TEST 26.12.2008 1.3
1 1062 1337 Herr TEST 26.12.2008 1.11
3 1060 1337 Herr TEST 26.12.2008 1.22
4 1710 1337 Herr TEST 26.12.2008 1.33
Wenn ich nun bei
Code:
Spe_Spalt_Counter_verw = Spe_Spalt_Counter + 1
das + 1 wegnehme bekomme ich folgendes Resultat
Code:
1 1.1 1337 Herr TEST 26.12.2008 1
2 2.2 1337 Herr TEST 26.12.2008 2
3 3.3 1337 Herr TEST 26.12.2008 3
4 4.4 1337 Herr TEST 26.12.2008 4
4 1050/5 1337 Herr TEST 26.12.2008 1.1
3 1070/5 1337 Herr TEST 26.12.2008 1.2
2 1080/5 1337 Herr TEST 26.12.2008 1.3
1 1050/5 1337 Herr TEST 26.12.2008 1.4
4 1062 1337 Herr TEST 26.12.2008 1.11
3 1060 1337 Herr TEST 26.12.2008 1.22
2 1710 1337 Herr TEST 26.12.2008 1.33
1 1063 1337 Herr TEST 26.12.2008 1.44
Hier scheint auf den ersten blick alles gut, aber wenn Ihr genau hinschaut ist ab der vierten Linie in der ersten Spalte alles verkehrt. Das 4 müsste drei Zeilen weiter unten sein.
Hat jemand eine Ahnung wie ich das Problem lösen kann Komme wirklich nicht weiter. Bei bedarf lade ich auch die ganze xls Datei rauf.
grz zyclop