JayN Geschrieben 15. August 2002 Geschrieben 15. August 2002 Hallo, leider bin ich nicht sehr bewandert in VBA unter Excel, hatte VBA bisher nur unter Access kennengelernt. Ich möchte in einer Schleife alle gefüllten Felder in einer bestimmten Spalte durchgehen und den Wert jedesmal in einer MessageBox ausgeben. Wie muß das aussehen? Wie kann ich gezielt eine Zelle unter VBA ansprechen? Kann mir einer helfen? Gruß JayN
baerle Geschrieben 15. August 2002 Geschrieben 15. August 2002 hallo und guten morgen bin leider auch nicht viel weiter wie du, kenne vba hauptsächlich auch nur aus access, aber vielleicht hilft dir das hier. wenn der cursour in der zelle steht, kannst du sie mit ActiveCell ansprechen, also z.B. ActiveCell.value. wenn du einen bereich ansprechen willst, geht das mit Range("A1") oder Range("A1:A20") hoffe ich habe die geholfen gruss baerle :marine :marine
Fallin Geschrieben 15. August 2002 Geschrieben 15. August 2002 Versuche es mal damit: Workbooks("Mapp1.xls").Sheets("Tabelle1").Cells(Zeile, Spalte).Value Der Wert Spalte kann entweder als Zahl eingegeben werde, oder man nimmt die Spaltenbezeichnung von Excel und gibt die als String an ( "BC" ). Hoffe, es hilft! CU
JayN Geschrieben 15. August 2002 Autor Geschrieben 15. August 2002 Ist schon mal nicht schlecht zu wissen. Wie ist es aber, wenn der Bereich nicht klar abgegrenzt ist? Wenn ich z.B. von B3 bis B??? alle Zellen durchgehen will, die einen Wert haben? Kann ich dann irgendwie sowas schreiben: Dim x as Integer x = 1 While NOT isNull (Range ("B" & Str(x)).Value) MsgBox Range ("B" & Str(x)).Value x = x + 1 Wend JayN [edit] Ups, da hat schon jemand was gepostet.... dieses Posting bezieht sich auf die erste Antwort. [/edit]
sonderzeichen Geschrieben 15. August 2002 Geschrieben 15. August 2002 zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'Zeilenanzahl bestimmen Range("K6:K" & zeilenanzahl).FormulaR1C1 = "=VALUE(RC[-2])" 'Werte aus I nach K kopieren nur mal so aus einem meiner Makros kopiert - hoffe es hilft weiter achso, bei mir läufts unter MacOS 8.6 oder 9.1/9.2 mit Excel 98 oder Excel 2001, sollte aber auch aufm PC gehn. hth T my .sig can beat up your .sig
JayN Geschrieben 15. August 2002 Autor Geschrieben 15. August 2002 So, die Postings haben mir schon einen entscheidenden Schritt vorangeholfen. Wenn noch was ist, melde ich mich wieder in diesem Thread. Danke! JayN
JayN Geschrieben 15. August 2002 Autor Geschrieben 15. August 2002 Noch eine Frage: Wie setze ich den Cursor auf eine Zelle? bzw. Wie kann ich den Wert einer Zelle ansprechen? Mir ist klar, dass das mit Value geschehen muß, aber was steht davor? JayN
tauron Geschrieben 16. August 2002 Geschrieben 16. August 2002 Moin ! Mit .Value oder .FormulaR1C1 kannst Du einen Wert reinschreiben bzw. auslesen. Value schreibt (oder liest) dabei direkt den Wert bzw. die Formel , während Formeln bei FormulaR1C1 etwas komplizierter sind, er arbeitet da mit Zeilen/Spalten Bezügen, z.B. Range("B2").FormulaR1C1 = "=SQRT(R[-1]C[-1])" um in B2 die Wurzel aus A1 (eine ®ow und eine ©olumn weniger) zu schreiben. Mit Cells(1, 1).Select makierst du beispielsweise die "A1" Zelle. Die gerade angewählte Zelle kannst du dann auch mit Selection ansprechen und mit ein_String = Selection.Value zum Beispiel den Wert in eine Variable schreiben. Die Befehle funktionieren sowohl mit Cells(1, 1) als auch mit Range("A1") hmm ein bissel lang geworden aber ich hoffe das hilft dir weiter! Gruß Christian ------------------------------------------------------------ "All power corrupts. Absolute Power is kinda neat though..." "50.000 gold a year in child care and they call it a CULT ?!?" - Kel'Thuzad, Archlich
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden