Hallo zusammen,
ich komme bei einem Problem mit VBA einfach nicht weiter! Vielleicht könnt ihr mir da helfen:
Ich habe ein Skript geschrieben, das alle Worksheets durchläuft in einer Schleife. Pro Worksheet sind in bestimmten Feldern Nummern durch Komma getrennt abgegeben. Diese Nummern werden durch die Split()-Funktion durch die Kommas getrennt und in ein Array gepackt. Mit dem Array wird dann einiges angestellt, was ich hier aber ausblende. Ist ein Worksheets "abgearbeitet", soll das Array zurückgesetzt werden (alle Einträge löschen, Array wie im "Urzustand"), dann soll das nächste Worksheet angesteuert werden und das Array neu gebildet werden nach demselben Prinzip wie oben. Problem: Trotz "erase"-Befehl sind die vorherigen Werte noch vorhanden. Wie kann man das Problem löschen / umgehen? Selbst umfangreiche Internetrecherche hilft nicht....
Hier mein Code:
Sub test()
Dim strProDef, arrProDef() As String
Dim strAufNr, arrAufNr() As String
Dim ws As Worksheet
Dim i As Integer
Dim ProjDef, AufNr As String
For Each ws In ThisWorkbook.Worksheets
If Not ws.Name = "Startblatt" And Not ws.Name = "Vorlage" Then
'DEFINIEREN
strAufNr = ws.Range("V5").Value
strAufNr = Replace(strAufNr, " ", "")
arrAufNr = Split(strAufNr, ",")
strProDef = ws.Range("V6").Value
strProDef = Replace(strProDef, " ", "")
arrProDef = Split(strProDef, ",")
'TEST BEFORE
For i = LBound(arrAufNr) To UBound(arrAufNr)
AufNr = AufNr & arrAufNr(i) & Chr(13)
Next
For i = LBound(arrProDef) To UBound(arrProDef)
ProjDef = ProjDef & arrProDef(i) & Chr(13)
Next
MsgBox "Innenaufträge: " & AufNr & ", Projektdefinition: " & ProjDef
'LÖSCHEN
Erase arrAufNr
Erase arrProDef
'TEST AFTER
If (Not arrProDef) = True And (Not arrAufNr) = True Then
MsgBox "Arrays nicht allocated"
Else
MsgBox "Arrays sind allocated"
End If
End If
Next
End Sub
Über Hilfe würd ich mich mega freuen! Viele Grüße!
|