Clever-Excel-Forum

Normale Version: Zellen auslesen mit Spaltenvariable
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich versuche mich gerade an VBA.
Dabei möchte ich den Inhalt einer Zelle in eine Variable speichern.
Das funktioniert mit einer festen Zelle.
i = Range("H15")

Nun möchte ich aber die Spalte (also 15,16,17,18, etc) mit einer Schleife laufen lassen.
Wie mache ich das?


Kann mir einer helfen?

Grüße
Richard
Moin!
15, 16, 17 sind die Zeilen …

Man kann zwar Range nehmen, sinnvoller ist aber Cells(Zeile, Spalte), weil man hier einfacher mit Zählvariablen arbeiten kann.
Was hast Du genau vor, denn aus der Threaderöffnung werde ich nicht schlau.  Blush

Gruß Ralf
Das mit der Schleife ist schon klar.
Nur mit dem Auslesen mit einer Spaltenvariablen habe ich Schwierigkeiten.

Wie kann ich die Zeile und Spalte variabel gestalten beim Befeh i = Range("H15")
i = Range("H" & zaehler) funktioniert nicht.

Danke im Voraus für Eure Unterstützung.

Grüße
Richy

(18.11.2020, 14:33)RPP63 schrieb: [ -> ]Moin!
15, 16, 17 sind die Zeilen …

Man kann zwar Range nehmen, sinnvoller ist aber Cells(Zeile, Spalte), weil man hier einfacher mit Zählvariablen arbeiten kann.
Was hast Du genau vor, denn aus der Threaderöffnung werde ich nicht schlau.  Blush

Gruß Ralf
Also meinst du i=Cells(Zeile, Spalte) ?

Da kommt ein Laufzeitfehler "Typen unverträglich"

Sorry, ich bin blutiger Anfänger in VBA
Cells(Zeile,Spalte)
cells(1,"H")
cells(1,8)
Dass Zeile und Spalte Platzhalter darstellen, sollte doch hoffentlich klar sein …

Vorab: Ein Forum kann nicht dazu dienen, hier Grundlagenwissen zu vermitteln.
IdR wird hier bei speziellen Problemen geholfen.

Aber da ich ohnehin gerade meine Corona-bedingte Kurzarbeit mittels Resturlaubsabbau überbrücke:

1.: Du könntest den Bereich en Bloc in ein zweidimensionales Variant-Array schreiben:
Dim Bereich
Bereich = Range("H15:H17").Value
Im Lokalfenster siehst Du dann, dass daraus Bereich(1 to 3, 1 to 1) wurde.

2. Man kann auch ein eindimensionales Array per Schleife füllen:
Dim Bereich2(1 to 3)
Dim i
For i = 15 to 17
  Bereich(i - 14) = Cells(i, 8).Value
Next

Alles klar?
(18.11.2020, 14:48)RPP63 schrieb: [ -> ]Dass Zeile und Spalte Platzhalter darstellen, sollte doch hoffentlich klar sein …

Vorab: Ein Forum kann nicht dazu dienen, hier Grundlagenwissen zu vermitteln.
IdR wird hier bei speziellen Problemen geholfen.

Aber da ich ohnehin gerade meine Corona-bedingte Kurzarbeit mittels Resturlaubsabbau überbrücke:

1.: Du könntest den Bereich en Bloc in ein zweidimensionales Variant-Array schreiben:
Dim Bereich
Bereich = Range("H15:H17").Value
Im Lokalfenster siehst Du dann, dass daraus Bereich(1 to 3, 1 to 1) wurde.

2. Man kann auch ein eindimensionales Array per Schleife füllen:
Dim Bereich2(1 to 3)
Dim i
For i = 15 to 17
  Bereich(i - 14) = Cells(i, 8).Value
Next

Alles klar?

Nein, aber das liegt wohl daran, dass ich mich erst seit heute mit VBA befasse.
Ich möchte Dir auch nicht Deine wertvolle Zeit stehlen.
Wahrscheinlich muss ich mich erst mal mit den Grundlagen befassen.
Entschulige die Störung.
Ich war der Meinung, dass man hier jede Frage stellen kann, egal ob Anfänger oder Fortgeschrittener

Grüße
Richard
Ja klar!
Man kann auch in ein Medizinforum gehen und fragen, wie man sich als (im wahrsten Wortsinn blutiger) Anfänger selbst den Blinddarm entfernen kann. Wink

Und falls Du es nicht gemerkt haben solltest:
Die beiden Ralfs haben Dir bereits wertvolle Tipps gegeben.

Aber ich wiederhole mich (ungern):
Ein Forum dient zur Hilfestellung bei speziellen Problemen, kann aber niemals eine Einarbeitung beim Kenntnisstand Null leisten!

Dafür gibt es ja auch nicht gerade wenige Tutorials.
https://www.online-excel.de/index.php
https://www.vba-tutorial.de/
https://www.vbarchiv.net/home/index.php
Hallöchen,

Zitat:Ein Forum kann nicht dazu dienen, hier Grundlagenwissen zu vermitteln.

Also, Grundkurse bieten wir nicht an, da gibt es sicher viele, die damit ihr Geld verdienen Smile Andererseits, wenn hier die Frage nach einem Kurs und schlimmstenfalls noch einem daraus resultierenden Zertifikat gefragt wird, rümpfen auch einige die Nase Sad Zuweilen ist es auch so, dass der eine eine fertige Lösung hingelegt bekommt und der nächste, der was lernen will, bekommt nicht unbedingt die für ihn befriedigendsten Antworten. Da hat sicher jeder unterschiedliche Ansichten und Schmerzgrenzen ...

Zitat:Ich war der Meinung, dass man hier jede Frage stellen kann, egal ob Anfänger oder Fortgeschrittener

Letztendlich beantworten wir nicht nur Fragen von Profis Smile Du hast einige Anregungen, einschl. Beispielcodes, bekommen und je netter die Unterhaltung und man als Antworter merkt, dass ich beim Fragesteller was entwickelt, desto größer der Erfolg Smile
Manches bekommt man jedoch schneller über google, z.B. wenn Du mal nach Stichworten aus den Antworten suchst wie Excel, VBA, Array und manches bekommt man auch ganz gut mit Try & Error raus - und wenn man intensiv die 3 Fenster im VBA-Editor nutzt (Direkt, Lokal, Überwachung)....
Ich wollte nicht ungeduldig rüber kommen. Das lag mir fern.

Ich hab’s nun aufgrund eurer Hilfe mit dem Bereich Array hinbekommen.
Das mit dem Array war mir leider nicht geläufig.
Vielen Dank für eure Hilfe. 

Ich muss mich einfach nun in die Grundlagen einarbeiten.

Danke nochmals 
Grüße
Richard