Microsoft Excel

Herbers Excel/VBA-Archiv

Schleife

    Betrifft: Schleife von: Alois Posch
    Geschrieben am: 27.08.2003 20:31:44

    Hallo
    Ich habe folgendes Problem.
    In Spalte G habe ich Zahlen (z.B 855)
    In Spalte I soll nun automatisch
    das Ergebnis der Berechnung 855/60/114,67 = 0,12
    stehen.
    Die leeren Zellen der Spalte I sollen automatisch ausgefüllt werden, solange in Spalte G Zahlen vorhanden sind.
    Dann soll das Ausfüllen beendet werden.
    Mit welcher Schleife bekomme ich sowas hin?

    Bitte um eure Hilfe!

      


    Betrifft: AW: Schleife von: GerdW
    Geschrieben am: 27.08.2003 20:38:13

    Sollen das in Spalte I Formeln sein oder Werte?

    Gerd


      


    Betrifft: AW: Schleife von: Reinhard
    Geschrieben am: 27.08.2003 20:49:31

    Hallo Alois,
    mit Formeln geht das so, in I1 folgendes reinschreiben:
    =WENN(G1="";"";G1/60/114,7)
    dann runterkopieren in I.
    Gruß
    Reinhard


      


    Betrifft: AW: Schleife von: Heinz Posch
    Geschrieben am: 27.08.2003 21:25:04

    Servus Alois!

    Du Extremist - willst das unbedingt mit einer Schleufe machen.
    Ein Posch halt.
    Tiroler? Lechtaler?

    Gruß, Heinz P.


      


    Betrifft: AW: Schleife von: Alois P
    Geschrieben am: 27.08.2003 21:26:17

    In I soll mit der Formel der Wert errechnet werden
    Das ganze sollte mit einem Makro selbsttätig die Spalte I ausfüllen, weil die Zahlenreihe in Spalte G sehr lang ist und die Methode mit Autoausfüllen zu umständlich ist.

    Gruß

    Alois


      


    Betrifft: Was ist daran umständlich... von: Ramses
    Geschrieben am: 27.08.2003 21:32:04

    Hallo

    Formel eintragen und Doppelklick auf das kleine schwarze Quadrat in der Zelle wo die Formel steht.

    Sorry,... aber ich weiss nicht was daran umständlich sein soll

    Gruss Rainer


      


    Betrifft: AW: Was ist daran umständlich... von: Alois P
    Geschrieben am: 27.08.2003 21:48:22

    Bei zirka 5000 Zeilen mit Werten ist das sicher etwas Zeitaufwendig.

    Alois


      


    Betrifft: :-(( Das zeigt mir wieder mal..... von: Ramses
    Geschrieben am: 27.08.2003 22:21:52

    Hallo,

    ...das diese Möglichkeit gar nicht getestet wurde :-(( sondern einfach mal was geschrieben wurde. Die Antwort war also für die Katz'.

    Mit dieser Funktion bei 50000 Zeilen weniger als eine Sekunde.
    Das geht schneller, komfortabler und spart erst noch Zeit.

    Wenn ich sehe wieviel Zeit alleine für das erstellen des Makros gebraucht wird,.... das ist völlig überrissen.
    Für eine der genialsten Funktionen in EXCEL ein Makro schreiben ..... ts, ts, ts.

    By the Way,,... das Makro von Peter mit Schleife benötigt dafür exact 10.4 Sekunden :-)
    (Rechner 2GHZ, 1 GB RAM )


    Gruss Rainer


      


    Betrifft: AW: :-(( Das zeigt mir wieder mal..... von: Hajo_Zi
    Geschrieben am: 28.08.2003 06:57:42

    Hallo Rainer

    ich habe das auch schon paar mal gelesen das mit Doppelklick unten rechts alle Zeilen in der Spalte mit Formel ausgefüllt werden. Bei mir unter XP geht dies nicht. Welche Option muß ich verändern??

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: AW: :-(( Das zeigt mir wieder mal..... von: Ramses
    Geschrieben am: 28.08.2003 15:10:59

    Hallo Hajo,

    das geht nur, wenn in der Spalte links von der aktiven zelle Daten stehen.
    Excel füllt die Spalte dann automatisch soweit mit Daten der aktiven Zelle auf wie es in linken Spalte ebenfalls Daten findet.

    Gruss Rainer


      


    Betrifft: AW: :-(( Das zeigt mir wieder mal..... von: Hajo_Zi
    Geschrieben am: 28.08.2003 15:48:36

    Hallo Rainer

    ich werde es noch mal testen

    ich Hatte in E1 ein Wert; in F1 die Formel und einen weiteren Wert in E20. Vielleicht hätte ich E1 bis E20 füllen sollen. Ich habe jetzt hier kein XP.


    Gruß Hajo


      


    Betrifft: AW: :-(( Das zeigt mir wieder mal..... von: Hajo_Zi
    Geschrieben am: 28.08.2003 17:03:02

    Hallo Rainer

    es lag an der nicht ausgefüllten Spalte. Danke für Deine Bemühungen.

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: Wenn schon Makro, dann ohne Schleife von: Martin Beck
    Geschrieben am: 28.08.2003 09:59:19

    Hallo Rainer et al.,

    jetzt gebe ich meinen Senf auch noch dazu. Die Schleife ist in diesem Fall in einem Makro überflüssig (und vor allem ineffizient), da man die Formel schneller kopieren kann, z.B. so:

    Sub SpalteI_neu()
       Dim z As Long
       z = Range("G65536").End(xlUp).Row
       Range("I1").FormulaLocal = "=G1/60/114,7"
       Range("I1").Copy Destination:=Range("I1:I" & z)
    End Sub
    


    Teste mal den Performanceunterschied zur Schleifenlösung und zur manuellen Variante. Auf meinem lahmen Rechner braucht das Makro für 50000 Zeilen ca. eine Sekunde.

    Gruß
    Martin Beck


      


    Betrifft: Auch eine Variante.. :-)) o.T. von: Ramses
    Geschrieben am: 28.08.2003 15:12:17

    ...


      


    Betrifft: AW: Was ist daran umständlich... von: Michael Brüggemann
    Geschrieben am: 27.08.2003 22:40:14

    Hallo Ramses,

    das zeigt mir 'mal wieder, dass ich trotz jahrelanger Arbeit mit Excel (ausschließlich Learning by Doing) viele einfache Dinge nicht kenne. Ist wahrscheinlich ein Trick für den Anfängerkurs ?


    CIAO
    Michael

    P.S. Do kanns zaubre ;-))


      


    Betrifft: :-)) von: Ramses
    Geschrieben am: 27.08.2003 22:43:17

    Hallo Michael

    Formelerstellung > Kopieren
    2. Stunde :-))

    Jahrelang demonstriert,... immer wieder verblüffend :-)) die Reaktion *lol*

    Gruss Rainer


      


    Betrifft: AW: Was ist daran umständlich... von: PeterW
    Geschrieben am: 27.08.2003 22:50:34

    Hallo Rainer,

    ich versuche jetzt seit 10 Minuten hier einen Doppelklick auf das kleine schwarze Quadrat der markierten Formel-Zelle zu machen. Was soll dabei passieren? Einfacher Klick und runterziehen kenne ich (und geht auch schneller als Code :-)). Müssen noch irgendwelche Optionen eingestellt werden? (Win XPPro - Office XP)

    Gruß
    Peter


      


    Betrifft: AW: Was ist daran umständlich... von: K.Rola
    Geschrieben am: 27.08.2003 22:58:58

    Hallo,

    das geht nur, wenn in der Spalte links daneben Daten stehen.

    Gruß K.Rola


      


    Betrifft: AW: Was ist daran umständlich... von: PeterW
    Geschrieben am: 27.08.2003 23:04:12

    Hallo K.Rola,

    vielen Dank, bei Werte in G und Formel in I hätte ich mir einen Wolf klicken können.

    Gruß
    Peter


      


    Betrifft: Mea Culpa... von: Ramses
    Geschrieben am: 27.08.2003 23:08:12

    Hallo Peter,

    ich habe nicht gesehen / verstanden dass da noch ein Spalte dazwischen sein soll/ist.
    Vielleicht sollte ich anstelle von VBA nochmals das Alphabet lernen *lol*

    Trotzdem ist das schneller :-)),.... wenn in der Spalte dazwischen Daten stehen würden.



    Gruss Rainer


      


    Betrifft: AW: Mea Culpa... von: PeterW
    Geschrieben am: 27.08.2003 23:13:32

    Hallo Rainer,

    hab es selber gestoppt und gemerkt, dass ich einen schnelleren Rechner brauche.:-)

    Gruß
    Peter


      


    Betrifft: geht auch bei leeren Spalten dazwischen wenn... von: Klaus-Dieter
    Geschrieben am: 28.08.2003 12:16:08

    Hallo Leute,

    das funktioniert auch bei leeren Spalten zwischen der auszufüllenden Spalte und dem Rest der Tabelle. Einfach die obere(n) Zellen der leeren Spalte(n) mit selektieren, Doppelklick - fertig.

    Gruß Klaus-Dieter


      


    Betrifft: AW: Was ist daran umständlich... von: Reinhard
    Geschrieben am: 28.08.2003 00:59:08

    Hallo Rainer,
    ich hab da auch wie blöde auf das schwarze Quadrat geklickt, bis ich dann später das mit den Daten müssen links stehen las:-(
    Wenn ich auf das Quadrat gehe ist der Cursor ein Kreuz, wenn ich nun Strg drücke dabei, kommt ein kleineres kreus im rechts-oben-Feld des Cursor-kreuzes, was heißt das nun wieder?
    Gruß
    Reinhard


      


    Betrifft: @ Rainer von: Klaus-Dieter
    Geschrieben am: 28.08.2003 12:06:39

    Hallo Rainer,

    wenn du in der selektierten Zelle eine Zahl hast, das Kästchen "anfaßt", Strg drückst und nach unten (oder eine andere Richtung) ziehst, dann bekommst du eine fortlaufende Zahlenreihe. Steht in der Zelle ein Datum wird dieses kopiert. (Ohne Strg wird fortlaufend ausgefüllt).

    Gruß Klaus-Dieter


      


    Betrifft: @ Rainer von: Klaus-Dieter
    Geschrieben am: 28.08.2003 12:06:54

    Hallo Rainer,

    wenn du in der selektierten Zelle eine Zahl hast, das Kästchen "anfaßt", Strg drückst und nach unten (oder eine andere Richtung) ziehst, dann bekommst du eine fortlaufende Zahlenreihe. Steht in der Zelle ein Datum wird dieses kopiert. (Ohne Strg wird fortlaufend ausgefüllt).

    Gruß Klaus-Dieter


      


    Betrifft: AW: Schleife von: PeterW
    Geschrieben am: 27.08.2003 21:15:40

    Hallo Alois,

    per Code könnte das so aussehen:

    Sub SpalteI()
       Dim lgZeile As Long
       lgZeile = 1
       Do Until IsEmpty(Cells(lgZeile, 7))
          Cells(lgZeile, 9) = Cells(lgZeile, 7) / 60 / 114.7
          lgZeile = lgZeile + 1
       Loop
    End Sub
    


    Gruß
    Peter


      


    Betrifft: AW: Schleife von: Alois P
    Geschrieben am: 27.08.2003 21:43:59

    Danke Peter
    Das haut hin.
    Gibt es eine Möglichkeit das nicht nur das Ergebnis, sondern die Formel in Spalte I eingetragen wird.
    Dann rechnet es die Werte automatisch neu falls sich in Spalte G etwas ändert.

    Gruß Alois


      


    Betrifft: AW: Schleife von: PeterW
    Geschrieben am: 27.08.2003 21:49:05

    Hallo Alois,

    klar geht das, aber dann frag ich mich jetzt auch, warum du nicht die Formel im Blatt direkt runterkopierst.

    statt
    Cells(lgZeile, 9) = Cells(lgZeile, 7) / 60 / 114.7
    schreibe
    Cells(lgZeile, 9).FormulaLocal = "=G" & lgZeile & "/60/114,7"

    Gruß
    Peter


     

    Beiträge aus den Excel-Beispielen zum Thema " Schleife"