Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn VBA und bis letzte gefüllte zelle ausführen

Wenn VBA und bis letzte gefüllte zelle ausführen
18.05.2009 12:25:57
Carmen
Hallo zusammen,
leider muß ich immer wieder feststellen, dass ich eine absolute gurke bin was vba angeht.
Nun ich brauch mal wieder Hilfe.
und zwar möchte das folgende formel in spalte T ausgeführt wird bis einschließlich der letzten gefüllten zeile. es sind aber nicht alle zellem der zeilen zwangsläufig gefüllt sicher ist aber spalte A gefüllt.

Sub wenn()
' wenn Makro
Range("T3").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=RC[-3],""neu"",""Erhöhng"")"
End Sub


Das es vermutlich eine schleife sein muss und sicher auch eine ganz einfache, aber welche und wie bekomme ich formel da rein.
Ganz lieben Dank für die Hilfe
Grüße Carmen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Herber an Gurke ;-)
18.05.2009 12:42:34
NoNet
Hallo Carmen,
es ist noch keine "Gurke" vom Himmel gefallen - fragen hilft oftmals ;-)
VBA-Code:
Sub WennVBAGurkeDannFrageBeiHerber()
    'Lösungsvorschlag von NoNet
    Range("T3").Resize(Cells(Rows.Count, 1).End(xlUp).Row - 2).FormulaR1C1 = _
        "=IF(RC[-1]=RC[-3],""neu"",""Erhöhng"")"
End Sub
Gruß, NoNet
AW: Wenn VBA und bis letzte gefüllte zelle ausführen
Hajo_zi

Hallo Carmen,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden sollte.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: Das mache ich später ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.

Option Explicit
Sub wenn()
' wenn Makro
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Range("T3:T" & LoLetzte).FormulaR1C1 = "=IF(RC[-1]=RC[-3],""neu"",""Erhöhng"")"
End Sub



Vielen Dank!
Carmen

Vielen Dank für die Hilfe!!!
werd mir Deinen Rat Hajo zu herzen nehmen.
und arbeite daran das die gurke etwas fliegen lernt!
Grüße Carmen
Anzeige
AW: Wenn VBA und bis letzte gefüllte zelle ausführen
18.05.2009 12:43:00
Hajo_zi
Hallo Carmen,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden sollte.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: Das mache ich später ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.

Option Explicit
Sub wenn()
' wenn Makro
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Range("T3:T" & LoLetzte).FormulaR1C1 = "=IF(RC[-1]=RC[-3],""neu"",""Erhöhng"")"
End Sub



Anzeige
Vielen Dank!
18.05.2009 12:56:24
Carmen
Vielen Dank für die Hilfe!!!
werd mir Deinen Rat Hajo zu herzen nehmen.
und arbeite daran das die gurke etwas fliegen lernt!
Grüße Carmen

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige