30.04.2018, 15:04
(Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2018, 15:16 von WillWissen.
Bearbeitungsgrund: Codetags
)
Hallo zusammen ,
vielleicht kann mir ein VBA Kenner kurz weiterhelfen...
Ich habe folgendes Skript und bevor dieses Skript die Daten anfängt einzutragen soll noch eine Zeile frei gelassen werden.
Liebe Grüße und Danke im Voraus :=)
Hier das Skript:
vielleicht kann mir ein VBA Kenner kurz weiterhelfen...
Ich habe folgendes Skript und bevor dieses Skript die Daten anfängt einzutragen soll noch eine Zeile frei gelassen werden.
Liebe Grüße und Danke im Voraus :=)
Hier das Skript:
Code:
Sub ImportData_Etzin()
Dim awsCol As New Scripting.Dictionary
Dim fzgCol As New Scripting.Dictionary
Dim i As Long
Sheets("Rohdaten").Select
For i = 2 To Rows.Count
Dim value As String
value = Cells(i, 1).value
If value = "" Then
Exit For
End If
Dim team As String
Dim konto As String
Dim aw As Integer
Dim fzg As Integer
Dim datum As String
Dim key As String
team = Cells(i, 1).value
konto = Replace(Cells(i, 2).value, "0", "")
konto = IIf(konto = "41", 410, konto)
konto = IIf(konto = "42", 420, konto)
konto = IIf(konto = "46", 460, konto)
aw = Cells(i, 3).value
fzg = Cells(i, 4).value
datum = Cells(i, 9).value
key = team + "|" + konto + "|" + datum
If Not awsCol.Exists(key) Then
awsCol.Add key, 0
fzgCol.Add key, 0
End If
awsCol.Item(key) = awsCol.Item(key) + aw
fzgCol.Item(key) = fzgCol.Item(key) + fzg
Next i
Sheets("Daten").Select
For i = 2 To Rows.Count
If Cells(i, 1).value = "" And Cells(i + 1, 1).value = "" And Cells(i + 2, 1).value = "" Then
Exit For
End If
Next i
For Each v In awsCol.Keys
Dim splits() As String
splits = Split(v, "|")
Dim teamKey As String
teamKey = splits(0)
teamKey = IIf(splits(0) = "ND", "N", teamKey)
teamKey = IIf(splits(0) = "Dai", "D", teamKey)
teamKey = IIf(splits(0) = "Mos", "M", teamKey)
teamKey = IIf(splits(0) = "For K", "K", teamKey)
teamKey = IIf(splits(0) = "S&", "S", teamKey)
teamKey = IIf(splits(0) = "Ber", "B", teamKey)
teamKey = IIf(splits(0) = "Ege", "E", teamKey)
teamKey = IIf(splits(0) = "Car", "C", teamKey)
Cells(i, 1).value = teamKey
Cells(i, 2).value = splits(1)
Cells(i, 12).value = splits(2)
Cells(i, 7).value = awsCol.Item(v)
Cells(i, 6).value = fzgCol.Item(v)
i = i + 1
Next
MsgBox ("Fertig")
End Sub