Hallo Leute! Ich habe da ein Problem mit meinem Vba-Code zur Mittelwert-und Standardabweichungsberechnung und hoffe, ihr könnt mir da behilflich sein! Ich möchte gern die Mittel- sowie Standardabweichungswerte aus einer Tabelle mit Messwerten berechnen. Das ganze soll dynamisch über ein zweidimensionales Array erfolgen, das heißt, wenn ich Messwerte hinzufüge, soll das Programm automatisch die neuen Werte berechnen. Wenn ich nun mein Programm starte bekomme ich die Fehlermeldung "Index außerhalb des gültigen Bereichs". Ich weiß nicht mehr weiter, hat jemand von Euch eine Idee!?
Vba Index Außerhalb Des Gültigen Bereichs 12
Laufzeitfehler 9:
Index außerhalb des gültigen Bereichs
Hallo Leute,
ich weiß normalerweise, was zu tun ist, wenn dieser Fehler auftritt. Meistens habe ich dann ein Array falsch dimensioniert oder versuche auf Dimensionen des Arrays zuzugreifen, die gar nicht existieren. Nur diesmal ist es anders. Eigentlich funktioniert folgende Funktion: Function Daten_einlesen()
Dim Zeile As Integer
Dim datenfeld()
Dim wert As Variant
Dim AnzahlDatensaetze As Integer
Zeile = 6 ' unsere Startzeile im Arbeitsblatt Telefonverhalten
AnzahlDatensaetze = b_Zeile_zurück - Zeile + 1 ' = Anzahl Datensätze minus 1
ReDim datenfeld(AnzahlDatensaetze, 7)
Worksheets("Telefonverhalten").
Index Außerhalb Des Gültigen Bereichs Vba
Hallo allerseits,
ich habe ein array:
dim temp()
redim preserve temp(2, 0, 0)
diesem kann ich wenn ich das recht verstanden habe so wie es ist 3 werte zuweisen:
temp(0, 0, 0)=wert1
temp(1, 0, 0)=wert2
temp(2, 0, 0)=wert3
nun möchte ich in meinem script das array vergrößern:
redim preserve temp(2, 1, 0)
meiner meinung nach sollte ich darin jetzt 6 werte speichern können:
temp(0, 1, 0)=wert2
temp(1, 0, 0)=wert3
temp(1, 1, 0)=wert4
temp(2, 0, 0)=wert5
temp(2, 1, 0)=wert6
das array vergrößert sich meiner meinung nach und verkleinert sicht nicht. deswegen verstehe ich nicht warum mein script mit der Meldung "Index außerhalb des gültigen Bereichs" abbricht. kann mir das jemand erklären oder hat eine lösung? vielen dank! Content-Key: 79071 Url: Ausgedruckt am: 10. 05. 2022 um 11:05 Uhr
Vba Index Außerhalb Des Gültigen Bereichs 2
09. 06. 2018, 10:38
# 1
MOF User
Registrierung: 15. 05. 2014
Karma:
VBA - Prüfen ob index im ungültigen Bereich
Hallo...
gibt es eine Prüfung, ob ein Array außerhalb des gültigen Bereichs sich befinden?? Ich habe eine Schleife, die dein Array durchläuft und zum Schluss natürlich in einen ungültigen Bereich hineinläuft. Code:
For c = 1 To 100
If Array(c, 1) = ungültiger Bereich Then
Nichts
else
Mach was
end if
next c
Mir ist schon klar, dass es auch andere Lösungsansätze gibt, z. B. das Array größer machen als die Schleife zählt.... aber in meinem Fall würde ich das gerne so versuchen. Gruß Faultier
09. 2018, 10:40
# 2
MOF Guru
Registrierung: 17. 2008
To Ubound(Array())
würde ich mal vermuten. __________________
Signatur in jedem Beitrag
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus. Betriebssystem: Windows 10 - 64 Bit, Office 2021 - 32 Bit. Fragen werden im Forum beantwortet, nicht per PN. 09. 2018, 10:57
# 3
Threadstarter
Dar schränkt auch die Anzahl der Schleifen ein, die möchte ich aber beibehalten, da ich in meinem Array, das ich mit der Schleife durchlaufe, zusätzlich noch einen Variablen Wert hinzuzähle..... ist xx zu groß, komme ich gegen Ende der Schleife in diesen Fehler.....
Vba Index Außerhalb Des Gültigen Bereichs Pdf
Indexoperator außerhalb des definierten Bereichs - Visual Basic | Microsoft Docs
Weiter zum Hauptinhalt
Dieser Browser wird nicht mehr unterstützt. Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen. Artikel
04/06/2022
2 Minuten Lesedauer
Ist diese Seite hilfreich? Haben Sie weiteres Feedback für uns? Feedback wird an Microsoft gesendet: Wenn Sie auf die Sendeschaltfläche klicken, wird Ihr Feedback verwendet, um Microsoft-Produkte und -Dienste zu verbessern. Datenschutzrichtlinie
Vielen Dank. In diesem Artikel
Ein Array-Subskript ist ungültig, da er außerhalb des zulässigen Bereichs liegt. Der niedrigste Tiefskriptwert für eine Dimension ist immer 0, und der höchste Tiefskriptwert wird GetUpperBound von der -Methode für diese Dimension zurückgegeben. So beheben Sie diesen Fehler
Ändern Sie den Inskript, sodass er innerhalb des gültigen Bereichs liegt. Siehe auch
tUpperBound
Arrays
Vba Index Außerhalb Des Gültigen Bereichs 7
Den ganzen Umfang meines Vorhaben hier zu scheiben, hätte wenig Sinn gemacht, da es recht kompliziert ist und so viel Text keiner schnell hätte lesen wollen.... Deshalb habe ich versucht mit dem Hinweis, dass ich nicht die Größe des Arrays ändern möchte, die Lösungsvorschläge etwas zu kanalisieren.... und eine kleines Beispiel gemacht, was ich mir vorgestellt türlich wäre der Hinweis, dass ich auch nicht die Schleife ändern möchte noch praktisch gewesen aber das weiß man immer erst hinterher.... Manchmal findet man erst im Austausch miteinander die richtige Lösung
Hallo EarlFred,
auch ohne Verständnis ist es genau das, was ich gesucht habe vielen Dank....
Gruß Faultier
Oder gibt es so eine Prüfung gar nicht? dann müsste ich eventuell so vorgehen,
On Error Resume Next
Test = Array(c + xx, 1)
If Err <> 0 Then
Diese Variante finde ich aber nicht sehr schön.....
09. 2018, 11:16
# 6
Registrierung: 10. 07. 2007
Ohne den Sinn zu verstehen:
If c <= Ubound(Array, 1) then..
Tu was mit dem Array
Else
Tu nichts
End if
Für 14 meiner Beiträge haben sich Hilfesuchende mit einer Spende an Wikipedia oder die Tafeln (oder andere Hilfsorganisationen) bedankt - eine tolle Geste! (das entspricht 0, 0855% oder 1 Spende pro 1. 170 Beiträge per 31. 08. 2021)
Als Dankeschön der Ukraine helfen
09. 2018, 11:44
# 7
wenn Du in Deinem ersten Post, das schon geschrieben hättest und nciht erst als ich meinen geschrieben habe, dann hätte ich mir die Zeit sparen können
Was willst Du überhaupt im Gesamten erreichen? Bevor Dir Leute weitere Tipps geben, wäre die ganze Wahrheit zu kennen gut
09. 2018, 12:52
# 8
Hallo trekking
Sorry... Ich versuche immer die wichtigsten Informationen zu liefern aber im Vorfeld kann man nicht wissen, in welche Richtung die Vorschläge gehen.