Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen auslesen mit Spaltenvariable
#1
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
Antwortento top
#2
https://www.vba-tutorial.de/ablaufsteuer...leifen.htm
Antwortento top
#3
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#4
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
Antwortento top
#5
Cells(Zeile,Spalte)
cells(1,"H")
cells(1,8)
Antwortento top
#6
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?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#7
(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
Antwortento top
#8
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#9
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)....
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#10
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
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste