Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

Code-Verständnisprobleme

Code-Verständnisprobleme
10.04.2017 16:57:27
Manuel
Hallo Leute,
kann mir vielleicht jemand bei der Erklärung des folgenden Codes helfen.
Public As(12) As Variant
Public Bs(12) As Variant
For n = 1 To 12
As(n) = Sheets("Tabelle1").Cells(499 + n, 1)
Bs(n) = Sheets("Tabelle1").Cells(499 + n, 2)
Next n
Was passiert in dieser Schleife genau? Es ist noch nicht der gesamte Code.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code-Verständnisprobleme
10.04.2017 17:11:56
{Boris}
Hi,
die Werte der Zellen A500 bis B511 werden nacheinander (w/Schleife) in die (Array)variablen As(1 bis 12) bzw. Bs(1 bis 12) geschrieben.
BTW: As ist ein Schlüsselwort in VBA - sollte also nicht für Variablennamen herhalten.
VG, Boris
AW: Code-Verständnisprobleme
10.04.2017 17:18:29
Manuel
ok jetzt glaub ich habe ich kapiert warum das gemacht wurde. Es wird damit eine Schleife später aufgebaut, wo alle Tabellenblätter durchlaufen werden und diese Namen der Tabellenblätter wurde eben durch diesen Array gefüllt.
Alles klar, dank euch zwei ;)
AW: Code-Verständnisprobleme
10.04.2017 17:12:49
Michael
Hallo!
Die Zählschleife füllt zwei Arrays mit Zellwerten, Array As mit den Zellwerten aus A500:A512 und Array Bs mit den Zellwerten aus B500:B512.
Lg
Michael
Anzeige
AW: Code-Verständnisprobleme
10.04.2017 17:32:17
snb
Das könnte kluger geschrieben werden:
sub M_snb()
sn = Sheets("Tabelle1").Cells(500, 1).resize(12)
sp = Sheets("Tabelle1").Cells(500, 2).resize(12)
end sub

AW: Code-Verständnisprobleme
10.04.2017 17:43:45
{Boris}
...und dann versteht er es erst recht nicht mehr.
Arrays mit ner Zählschleife zu befüllen halte ich aber nicht wirklich für ein VBA-Verbrechen - schon gar nicht bei 24 Einträgen ;-)
VG, Boris
AW: Code-Verständnisprobleme
10.04.2017 17:53:15
Daniel
naja, Verbrechen nicht, aber was man im kleinen lernt, wendet man dann auch irgendwann im großen Stil an wo es dann vielleicht nicht mehr praktikabel ist.
Außerdem sind Schleifen immer lästig, wenn man den Code im Einzelstep testen und debuggen muss, allein schon daher versuche ich sie zu vermeiden.
wenn man unbedingt ein 1-d-Array braucht, geht's aber nicht mit der Schleifenfreien direktbefüllung.
Gruß Daniel
Anzeige
AW: Code-Verständnisprobleme
10.04.2017 18:24:00
{Boris}
Natürlich - aber bei "VBA bescheiden" und der aktuellen Verständnisfrage glaube ich halt, dass hier weniger mehr ist - und umgekehrt: zu viele - richtige und gut gemeinte - Infos können auch verwirren.
Aber egal ;-)
VG, Boris
Doch, 1-d geht auch ohne Schleife ...
10.04.2017 18:36:15
lupo1
Siehe ab Seitenmitte:
Es ist aber manchmal ganz wünschenswert, ein eindimensionales Feld aus einer Spalte oder Zeile zu erhalten.
Dies kann man mit einem kleinen Trick erreichen:

http://www.online-excel.de/excel/singsel_vba.php?f=47
AW: Doch, 1-d geht auch ohne Schleife ...
10.04.2017 18:40:26
snb
Schleifenfrei:
sub M_snb()
sn = application.transpose(Sheets("Tabelle1").Cells(500, 1).resize(12))
sp = application.transpose(Sheets("Tabelle1").Cells(500, 2).resize(12))
sn = [transpose(Tabelle1!A500:A512)]
sp = [transpose(Tabelle1!B500:B512)]
end sub

Anzeige
AW: Doch, 1-d geht auch ohne Schleife ...
10.04.2017 18:44:17
Manuel
also könnte ich das auch in meinen Code schreiben und der Rest der daran folgt würde weiter funktionieren oder?
Das Haserodt-Bsp. verstehst auch Du - owT
10.04.2017 18:50:29
lupo1
AW: Das Haserodt-Bsp. verstehst auch Du - owT
10.04.2017 18:54:42
Manuel
nicht ganz, aber wenn ich mich damit etwas mehr beschäftige, dann ja.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige