Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1212to1216
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

Formel per VBA einbauen geht nicht

Formel per VBA einbauen geht nicht
Werner
Hallo,
bei nachfolgendem Code werden die Zeilen 3 und 4 mit "Anwendungs- oder objektdefinierter Fehler" quittiert.
Warum?
    Range("C1").Select
Do While ActiveCell.Offset(0, -2).Value  ""
ActiveCell.FormulaR1C1 = "=TODAY()-RC[-1]"
Selection.NumberFormat = "General"
ActiveCell.Offset(1, 0).Select
Loop
Gruß Werner.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formel per VBA einbauen geht nicht
11.05.2011 14:49:24
Beverly
Hi Werner,
meinst du das so:
   Dim lngZeile As Long
lngZeile = 1
Do
If Cells(lngZeile, 1)  "" Then
Cells(lngZeile, 3).FormulaR1C1 = "=TODAY()-RC[-1]"
Cells(lngZeile, 3).NumberFormat = "General"
lngZeile = lngZeile + 1
Else
Exit Do
End If
Loop



AW: Formel per VBA einbauen geht nicht
11.05.2011 14:57:20
Werner
Hallo Karin,
nein, der Loop funktioniert, nur die Formeln werden angemeckert.
Vielen Dank für heute, ich melde mich morgen wieder.
Gruß Werner.
AW: Formel per VBA einbauen geht nicht
11.05.2011 15:21:51
Beverly
Hi Werner,
mir ist schon klar, dass deine Do...Loop Schleife an und für sich korrekt funktioniert, nur kann man in VBA zu 99% auf Select/Actviate verzichten.
Weshalb ein Fehler bei der Formel auftritt ist schleierhaft und nicht nachvollziehbar - weder in Excel2010 noch in Excel2003.


Anzeige
AW: Formel per VBA einbauen geht nicht
11.05.2011 14:49:32
Mäxl
Hallo Werner
was soll erreicht werden? (Beschreibe in Worten was du genau erreichen willst)
du markierst Zelle C1
danach wird abgefragt ob zwei Spalten links davon (A1) etwas steht
wenn ja schreibe in Zelle C1 das aktuelle Datum und ziehe davon Zelle B1 ab
dann soll das Datum kein Datum mehr sein, sondern der Zahlenwert davon angezeigt werden.
danach markiere C2 ....
der Code würde funktionieren, hast du vielleicht igendwo verbunden Zellen drinnen?
AW: Formel per VBA einbauen geht nicht
11.05.2011 15:00:35
Werner
Hallo Mäxl,
ich will die Anzahl Tage zw. dem aktuellen und einem vorangegangenen Datum ermitteln und das in einem Loop. Angemeckert werden nur die Formeln. Warum ist mir schleierhaft. Die Formeln habe ich mit dem Recorder aufgezeichnet.
Vielen Dank erstmal, ich melde mich morgen wieder.
Gruß Werner.
Anzeige
besser ohne Schleife, ohne Select
11.05.2011 19:13:09
Erich
Hi Werner,
die Fehlermeldun kann so ich nicht nachvollziehen.
Gibt es bei dir verbundene Zellen? Ist das Blatt geschützt? Andere Besonderheiten?
Kannst du per Hand etwas in diese Zellen eingeben?
Hier mal ein Code, der ohne Schleife (und natürlich ohne Select) auskommt:

Sub OhneLoop()
Dim lngZeile As Long
lngZeile = Evaluate("=MIN(IF(A1:A60000="""",ROW(1:60000)))") - 1
If lngZeile Then
With Cells(1, 3).Resize(lngZeile)
.FormulaR1C1 = "=TODAY()-RC[-1]"
.NumberFormat = "General"
End With
End If
End Sub
Wie in deinem Code wird hier die erste leere Zelle in Spalte A gesucht, bearbeitet wird bis zur Zeile davor.
Unterhalb dieser leeren Zelle könnten noch gefüllte Zellen in Sp. A kommen. Ist das so?
Mäxls Code arbeitet bis zur letzten gefüllten Zelle in Sp. A - auch wenn davor Leerzellen stehen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

291 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige