Registriert seit: 18.11.2020
Version(en): Office 365
18.11.2020, 15:29
(Dieser Beitrag wurde zuletzt bearbeitet: 18.11.2020, 15:29 von richy.)
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
Registriert seit: 12.06.2020
Version(en): 2024, 365business
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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.  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)
Registriert seit: 18.11.2020
Version(en): Office 365
18.11.2020, 15:35
(Dieser Beitrag wurde zuletzt bearbeitet: 18.11.2020, 15:42 von richy.)
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, 15: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. 
Gruß Ralf Also meinst du i=Cells(Zeile, Spalte) ? Da kommt ein Laufzeitfehler "Typen unverträglich" Sorry, ich bin blutiger Anfänger in VBA
Registriert seit: 12.06.2020
Version(en): 2024, 365business
Cells(Zeile,Spalte) cells(1,"H") cells(1,8)
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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)
Registriert seit: 18.11.2020
Version(en): Office 365
(18.11.2020, 15: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
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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.  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.phphttps://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)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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  Andererseits, wenn hier die Frage nach einem Kurs und schlimmstenfalls noch einem daraus resultierenden Zertifikat gefragt wird, rümpfen auch einige die Nase  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  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 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-2019+365)
Registriert seit: 18.11.2020
Version(en): Office 365
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
|