Thema Datum  Von Nutzer Rating
Antwort
Rot Problem: Array pro Schleifendurchlauf neu definieren
27.06.2014 11:52:36 Leonhard Welkener
NotSolved
27.06.2014 19:43:14 Hmm..Hmm..
NotSolved

Ansicht des Beitrags:
Von:
Leonhard Welkener
Datum:
27.06.2014 11:52:36
Views:
1217
Rating: Antwort:
  Ja
Thema:
Problem: Array pro Schleifendurchlauf neu definieren

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!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Problem: Array pro Schleifendurchlauf neu definieren
27.06.2014 11:52:36 Leonhard Welkener
NotSolved
27.06.2014 19:43:14 Hmm..Hmm..
NotSolved