Thema Datum  Von Nutzer Rating
Antwort
07.01.2020 20:27:35 Eik87
NotSolved
Blau Prüfung ob Array dimensioniert ist
07.01.2020 21:15:42 xlKing
Solved

Ansicht des Beitrags:
Von:
xlKing
Datum:
07.01.2020 21:15:42
Views:
697
Rating: Antwort:
 Nein
Thema:
Prüfung ob Array dimensioniert ist

Hallo,

mit Ubound gibst du die größten Index zurück. Statt If isEmpty kannst du z.B. If Ubound(Pause) = n prüfen 

Mit Redim dimensionierst du das Array neu. Aber Achtung wenn bereits Werte drin stehen gehen diese verloren. Damit die erhalten bleiben immer das Schlüsselwort PRESERVE verwenden.

Ubound im undimensionierten Array erzeugt einen Laufzeitfehler. Den kann man mit ONERROR abfangen.

Ein Ansatz könnte z.B. so aussehen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub aslkfj()
 
Dim Pause() As String
 
On Error GoTo Fehler
 
If UBound(Pause) = n Then
  Pause(1) = "Hallo"
  Pause(2) = "Du da"
  Pause(5) = "Wie gehts?"
End If
 
MsgBox Pause(5)
 
Exit Sub
 
Fehler:
  n = 5
  ReDim Preserve Pause(n)
  Resume
 
End Sub

Sauberer ist es natürlich, gleich nachdem n feststeht zu redimensionieren

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub aslksj()
 
Dim Pause() As String
 
n = 5
 
ReDim Preserve Pause(n)
 
Pause(1) = "Hallo"
Pause(2) = "Du da"
Pause(5) = "Wie gehts?"
 
End Sub

oder z.B. über eine Schleife

1
2
3
4
5
6
7
8
9
10
11
12
Sub aslkss()
 
Dim Pause() As String
 
For n = 1 To 5
  ReDim Preserve Pause(n)
  Pause(n) = n
Next n
 
MsgBox Pause(5)
 
End Sub

Gruß Mr. K.


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
07.01.2020 20:27:35 Eik87
NotSolved
Blau Prüfung ob Array dimensioniert ist
07.01.2020 21:15:42 xlKing
Solved