Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eine Variable (Integer) mit einem Array vergleiche

Eine Variable (Integer) mit einem Array vergleiche
09.06.2018 22:59:41
Tim
Hallo Freunde der Nacht,
Ich komm gerade nicht weiter, bestimmt ist es wieder ein Deklarationsfehler
Ich habe eine Variable (Integer), deren Inhalt eine 6 Stellige Zahl ist. Und einen Array (Auch 6 Stellig)
Wie kann ich beide miteinander vergleichen?
Das Klappt nicht

If iVariable = Arr(0, 1) Then MsgBox "Das klappt nicht"
der Umweg über eine Zelle funktioniert.
sheets("Start").Range("AAL70").Value = iVariable
Sheets("Start").Range("AAL71").Value = Arr(0, 1)
If Sheets("Start").Range("AAL70").Value = Sheets("Start").Range("AAL71").Value Then MsgBox "Das Klappt"
Hat zufällig jemand eine Idee?
Viele lieben Grüße Tim

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Variable (Integer) mit einem Array vergleiche
09.06.2018 23:12:40
Mullit
Hallo,
von welchem Datentyp ist denn Dein Array...?...Zeig mal Deinen ganzen Code und ggf. auch wie die Daten in Dein Array gelangen...
Wenn Du etwas mehr zu Arrays lesen willst, kannst ja mal hier gucken:
http://www.online-excel.de/excel/singsel_vba.php?f=152
Gruß, Mullit
AW: Eine Variable (Integer) mit einem Array vergleiche
09.06.2018 23:46:30
Tim
Danke für den Link,
also ich habe jetzt meine Variable und den Array auf "Long" gesetzt.
Ich habe mal ein probiert die Variable vorher zu setzen.
so wie ich es gemacht habe ist zwar unlogisch, müsste aber eigentlich funktionieren. Tut es aber nicht.
Global Test, iVariable as Long
Global Arr(2000, 2000), z, y, a, k, founda, foundk, aa, kk As Long
Test = "702774"
iVariable = Test
If iVariable = Arr(0, 1) Then MsgBox "Das klappt nicht"
So klappt es klappt es seltsamerweise.
Global Test, iVariable as Long
Global Arr(2000, 2000), z, y, a, k, founda, foundk, aa, kk As Long
iVariable = "702774"
If iVariable = Arr(0, 1) Then MsgBox "Das klappt"
es müsste eigentlich auch gehen ohne dass ich die Variable vorher setzte, da "702774" schon der Inhalt ist. Der Umweg über die Zellen klappt ja.
Auch der Umweg über 2 Variablen funktioniert
test = Arr(0, 1)
test2 = iVariable
If test = test2 Then MsgBox "klappt auch"
grr ich werde verrückt
Anzeige
AW: Eine Variable (Integer) mit einem Array vergleiche
09.06.2018 23:50:37
Tim
Ahh ich habe es gefunden ;)
War nicht richtig deklariert, so geht es.
Global Arr(2000, 2000) As Long, z, y, a, k, founda, foundk, aa, kk As Long

Danke ;)
AW: Eine Variable (Integer) mit einem Array vergleiche
10.06.2018 00:47:29
Mullit
Hallo,
ok prima, da gibts noch ein paar mehr Baustellen, alle Variablen sind mit ihrem Typ zu deklarieren, andernfalls sind sie vom Datentyp Variant, Global ist veraltet, die aktuelle Bez. für globale Vars lautet Public und sie sollten möglichst sparsam verwendet werden.
Wenn Du Zahlen einliest, haben dort auch die Anführungsz. nix zu suchen, sonst ist der Wert zunächst ein String, und verwende ruhig sprechende Namen für Deine Variablen, nicht diese verkümmerten Einzelbuchstabenhieroglyphen, vielleicht doch nochmal ein Grundlagenlink, o.ä. von der Seite.....
http://www.online-excel.de/excel/singsel_vba.php?f=4
Gruß, Mullit
Anzeige
AW: Eine Variable (Integer) mit einem Array vergleiche
10.06.2018 15:36:22
Tim
OK vielen Dank für die Tipps.
Ist bei mir alles "learning by doing" und das meiste hier vom Board :)
So ein Grundkurs wäre mal gar nicht so schlecht...
Warum muss man sparsam mit Public/Global umgehen?
lg Tim
AW: Eine Variable (Integer) mit einem Array vergleiche
10.06.2018 18:48:45
Mullit
Hallo,
auf globale Vars hat man ja von ihrer Natur her an jeder Stelle im Projekt Lese- und Schreibzugriff, somit ist es bei größeren Projekten schwieriger einzuschätzen, wo sie welche Werte beinhalten/Effekte auslösen...
Hinzu kommt, daß sie relativ flüchtig sind und u. best. U. ihre Werte verlieren können, da ist es dann besser, man übergibt die Variablen als Parameter an die einzelnen Prozeduren...
Gruß, Mullit
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige