Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehlermeldung beim vergrößern meines Arrays

Betrifft: Fehlermeldung beim vergrößern meines Arrays von: Merk Benedikt
Geschrieben am: 17.11.2014 11:41:04

Hallo zusammen,
ich habe für die Druckausgabe meiner Arbeitsmappe einen Array erstellt in den die auszudruckenden Tabellenblätter geschrieben werden sollen. Die Anzahl der Tabellenblätter kann im Voraus leider nicht ermittelt werden, da sie von den Eingaben des Nutzers abhängt.
Nun bekomme ich jedoch die Fehlermeldung, dass die Typen unverträglich sind.
Hier kommt nun einmal mein Code:

Option Explicit
Public blaetterwahl

Sub drucken_Click()

If kalk_ekt.Value = True Then
    ReDim Preserve blaetterwahl(UBound(blaetterwahl) + 1)
    blaetterwahl(UBound(blaetterwahl)) = "EkT"
End If

End Sub

  

Betrifft: AW: Fehlermeldung beim vergrößern meines Arrays von: Merk Benedikt
Geschrieben am: 17.11.2014 11:43:57

achja, ich habe ganz vergessen zu schreiben wo die Meldung auftritt. Der Fehler wird mir in der Zeile

ReDim Preserve blaetterwahl(UBound(blaetterwahl) + 1)
angezeigt.


  

Betrifft: AW: Fehlermeldung beim vergrößern meines Arrays von: Rudi Maintaire
Geschrieben am: 17.11.2014 11:52:26

Hallo,
1. Public blaetterwahl()
2. Musst du das Array erstmal dimensionieren: Redim x(0)
sonst hat es keinen Ubound().

Gruß
Rudi


  

Betrifft: AW: Fehlermeldung beim vergrößern meines Arrays von: Merk Benedikt
Geschrieben am: 17.11.2014 12:18:59

Hallo Rudi,
dein Hinweis war sehr hilfreich. Vielen Dank dafür schon mal. Nun steh ich aber vor einem ganz anderen Problem. Ich habe die Blatt-Namen nun ja in dem Array blaetterwahl stehen. Diese kann ich auch im gleichen UserForm ausgeben lassen in welchem der Nutzer sie eingibt.
Leider kommt nun wenn ich ein weiters UserForm aufrufe und dort die Werte ausgeben möchte erneut die Meldung, dass die Typen sich nicht vertragen.

Private Sub UserForm_Activate()

For x = LBound(blaetterwahl) To UBound(blaetterwahl)
  MsgBox blaetterwahl(x), , "    - 4 -   Datenfelder"
Next x

End Sub
hast du eine Idee woran das liegen kann? Das Array hab ich in "DieseArbeitsmappe" definiert. Ich geh also davon aus, dass es von überall aus erreichbar sein sollte.


  

Betrifft: AW: Fehlermeldung beim vergrößern meines Arrays von: Oberschlumpf
Geschrieben am: 17.11.2014 12:24:16

Hi

jede Public-Zeile, also auch Public blaetterwahl(), muss in einem allgemeinen Modul stehen, damit diese Variablen auch überall im Code "bekannt" sind.

Hilfts?

Ciao
Thorsten


  

Betrifft: AW: Fehlermeldung beim vergrößern meines Arrays von: Merk Benedikt
Geschrieben am: 17.11.2014 12:34:09

Perfekt. Jetzt funktioniert alles. Vielen Dank nochmals.


  

Betrifft: AW: Fehlermeldung beim vergrößern meines Arrays von: Rudi Maintaire
Geschrieben am: 17.11.2014 12:28:38

Hallo,
definiere sie in einem Standardmodul.

Gruß
Rudi


 

Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung beim vergrößern meines Arrays"