Thema Datum  Von Nutzer Rating
Antwort
Rot Array mit variabler Länge - ReDim
22.05.2017 10:11:14 Mike1988
NotSolved
22.05.2017 20:20:14 Gast64121
NotSolved
22.05.2017 21:26:42 Mike1988
NotSolved
22.05.2017 23:33:10 Gast52427
NotSolved
22.05.2017 23:34:05 Gast5940
NotSolved
23.05.2017 17:53:18 Mike1988
Solved

Ansicht des Beitrags:
Von:
Mike1988
Datum:
22.05.2017 10:11:14
Views:
1334
Rating: Antwort:
  Ja
Thema:
Array mit variabler Länge - ReDim

Hallo liebes Forum,

Kämpfe gerade mit VBA bzw. mit Arrays, welche eine variable Länge besitzen sollen:

Innerhalb der Variable Nr speichere ich eine eindeutige Nummer. Tabellenblatt 1 soll in Spalte P nach dieser Nummer durchsucht werden. Jeder gefundene Eintrag soll in das Array Ergebniss geschrieben werden. Nun habe ich allerdings das Problem, dass ich von vornherein nicht weiß, wie oft die gesuchte Zahl gefunden wird und somit wie lang dass Array sein muss. Habe dann etwas gegoogelt und bin auf den Befehl ReDim gestoßen, welchen ich allerdings nicht ohne Fehler implementieren kann. Erhalte bei jedem Aufruf einen Laufzeitfehler Nr. 9 :-(

Sub Auswertung

Dim arr As Variant
Dim Objekt_Nr As Variant
Dim Ergebniss(5000) As Variant 

Application.ScreenUpdating = False
Worksheets("Tabelle2").Select
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row

For FortlaufendeNummer = 2 To LetzteZeile 
Nr = ActiveSheet.Cells(FortlaufendeNummer, 5).Value

With Worksheets("Tabelle1")
    arr = .Range("P2:P" & .Cells(.Rows.Count, 1).End(xlUp).Row)
End With
   k = 0
For i = 2 To UBound(arr)

If CStr(arr(i, 1)) = Nr Then

ZeileNr = i
        Ergebniss(k) = Worksheets("Tabelle1").Cells(i, 1)
        k = k + 1
         End If
       
         Next
         
If Ergebniss(0) ="" Then

Sheets("Tabelle2").Cells(FortlaufendeNummer, 17) = "Error"
Erase Ergebniss
End If
Erase Ergebniss
Next


Application.ScreenUpdating = True

End Sub

Kann mir vielleicht jemand bei der variablen Erstellung des Arrays behilflich sein. Bin auch gerne für weitere Verbesserungen offen, die Ausführung des Codes dauert ziemlich lange, gibt es vielleicht eine elegantere Möglichkeit?

 

Danke für eure Hilfe, GLG


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 Array mit variabler Länge - ReDim
22.05.2017 10:11:14 Mike1988
NotSolved
22.05.2017 20:20:14 Gast64121
NotSolved
22.05.2017 21:26:42 Mike1988
NotSolved
22.05.2017 23:33:10 Gast52427
NotSolved
22.05.2017 23:34:05 Gast5940
NotSolved
23.05.2017 17:53:18 Mike1988
Solved