Wie kann man bei vba eine zelle auslesen? Mit Cells (...,...) oder nicht.
und kommt cells dann vorne oder hinten und wofür steht das value? Und steht in der Klammer hinter cells erst die Zeile oder erst die Spalte?
2 Antworten
Das was im Makro links steht, wird definiert durch das was rechts vom Gleichheitszeichen steht. In Deinem Kommentar zu MartinPii wird also die Variable Verkaufspreis definiert durch Cells(3, 4). alos wird Cells ausgelesen.
Cells(4, 5).value = Verkaufspreis würde die Zelle E4 mit dem Wert von Verkaufspreis füllen.
Du kannst aber auch statt Cells Range("E4") schreiben. Mit Cells kannst Du innerhalb einer Range nochmals eine bestimmte Zelle ansprechen. ZB in Range("A1:A5").Cells(2) sprichst Du A2 an. (Muss die genaue Syntax mit Anführungszeichen wo und wieviele auch immer erst wieder lernen. Könnte auch ("A1":"A5") heissen oder "A1", "A5", eher nicht.). Musst Du in der Hilfe nachlesen oder selber rumprobieren. (gibt noch weitere Möglichkeiten, da kann man sich richtig verkünsteln).
Du kannst in eine Zelle einen Wert reinschreiben (oder auslesen) mit Cells.value
Du kannst aber auch eine Formel behandeln mit cells(..).formula und wenn die Formel auf deutsch drinsteht, mit Cells(..).FormulaLocal. Cells(..). Formula alleine gibt Dir die englische Formel wieder, also zB =SUM(...) anstatt =SUMME(...).
Wenn Du in einer deutschen Version eine Formel setzen willst, musst Du also unbedingt .FormulaLocal verwenden. Einen Wert setzt Du mit .value (ich glaube, das ist sogar die Vorgabe, wenn man value weglässt, muttu ausprobieren)
schaff Dir eine abgelegte, billige CD-Rom mit xl97 oder 2000 Professional (ich glaube Student hat auch VBA mit drin, bin ich aber nicht sicher) an. Die meisten Befehle waren da schon drauf und ich denke, gerade für Syntaxprobleme reichts.
ich kann nicht selber rumprobieren, weil ich kein excel habe, deswegen ist es ja auch so schwierig :( Muss quasi blind programmieren. Aber danke
so zb:
Worksheets("Sheet1").Activate
Range(Cells(1, 1), Cells(5, 3)).befehl
erst zeile dann spalte, also erst Zahl dann Buchstabe Cells(5,3) = C5
Danke! Hab das jetzt aber immer noch nicht verstanden, wann jetzt ausgelesen und wann reingeschreibselt wird ^^ Was heißt z.B Verkaufspreis=Cells(3,4).Value. Lese ich das dann raus? Wofür brauche ich Range?
zuerst muss verkaufspreis als variable definiert werden, also zb
dim verkaufspreis as string
in deiner zeile wird festgelegt das die Variable Verkaufspreis den Wert aus Zelle D3 bekommt
Range brauchst du für Zellen von bis, also zb Zelle A1 bis D3
Excel hat eine richtig gute Hilfedatei, schau da mal ruhig rein!
ja das weiß ich, dass man das deklarieren muss. trotzdem danke ^^ Ah ok, also wirds rausgelesen. und umgekehrt wäre es dann....also Cells(3,4).Value=Verkaufspreis? Ok Range brauch ich dann nicht, gut... Danke!!! Wofür brauch ich denn jetzt Value? oder ist das einfach nur so da, weils Wert heißt?^^
ja value heisst wert, du könntest ja auch die schriftart, oder die farbe usw. von der zelle haben wollen, das value heisst du willst nur den "zahlen" wert der zelle
wegen cells und range schau mal bitte nochmal in die hilfe, da gibts schon noch unterschiede, mit range gehts auch
DH!