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 Zitieren
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 Zitieren
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 Zitieren
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] Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.