Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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 über VBA einschreiben

Formel über VBA einschreiben
31.12.2015 13:04:18
Stefan Doliwa

Wieso sagt mir der Rechner die ganze Zeit das: "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen?
Dim lngZeile As Long
Dim Z As Long
For lngZeile = 2 To anzZeilen
If Cells(lngZeile, 2).Value <> "" Then
Range("A1").Select
ActiveCell.FormulaR1C1 = "1"
Range("A1:A").Formula = "=A" & Z & "+1"
'Z = Z + 1
Cells(lngZeile, 1) = Z
End If
Next

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel über VBA einschreiben
31.12.2015 13:07:02
Hajo_Zi
was ist das für eine Formel =A0+1
dieses ist sinnlos
Range("A1").Select
ActiveCell.FormulaR1C1 = "1"
da in der nächsten Zeile A1 überschrieben wird

AW: Formel über VBA einschreiben
31.12.2015 13:28:31
Stefan Doliwa
Grüß Dich Hajo,
selbst wenn ich diese zwei Zeilen herausnehme, funktioniert es nicht.
In der Zelle A2 soll stehen =A1+1, in der Zelle A3 soll stehen =A2+1 usw. Wieso habe ich da einen Fehler, da Z doch hochgezählt wird.
Danke Stefan

AW: Formel über VBA einschreiben
31.12.2015 13:44:34
Hajo_Zi
auf meine erste Zeile, was die Formel soll hast Du nicht Geantwortet.
Range("A2:A" & Rows.Count).FormulaR1C1 = "=R[-1]C+1"
Gruß Hajo

Anzeige
AW: Formel über VBA einschreiben
31.12.2015 14:33:12
Stefan Doliwa
Danke Hajo,
es funktioniert fast. Jetzt werde ich mir sicherlich weiter helfen können, denn es ist ja nicht Sinn, die Programmierung mundfertig zu kriegen, sondern eine Hilfe zur Selbsthilfe zu erhalten. Wünsche Dir einen guten Rutsch. Ich werde im Bett liegen, da krank...
Stefan

Mein lieber Scholli! Mindestens 3 Fehler ...
31.12.2015 13:48:08
Luc:-?
…in den paar Zeilen, Stefan;
dazu noch Ungereimtes:
1. Range("A1:A") verursacht den Fehler, denn der Bereich ist verstümmelt!
2. Die Fml ist sinnlos (sagte Hajo schon!), denn Z ist beim 1.Durchlauf =0; außerdem hast du den Zähler auskommentiert, Z wird also nicht erhöht!
3. A1 gehört auch zum Bereich ab A1, folglich wird die Text-1 (sicher auch Quark!) gleich danach durch die unsinnige Fml überschrieben (vgl Hajo)!
4. Eine Zelle vor ihrer Belegung auszuwählen, ist höchst überflüssig!
GRutsch! Gruß, Luc :-?

Anzeige
AW: Formel mit VBA in Bereich schreiben
31.12.2015 14:38:24
Gerd L
Hallo Stefan,
so wäre keine Fehlermeldung aufgetreten.
Sub A()
Dim lngZeile As Long
Dim Z As Long
Dim anzZeilen As Long
anzZeilen = 4
For lngZeile = 2 To anzZeilen
If Cells(lngZeile, 2).Value <> "" Then
Range("A1").Select
ActiveCell.FormulaR1C1 = "1"
Range("A1:A" & lngZeile).Formula = "=A" & Z + 1
Z = Z + 1
Cells(lngZeile, 1) = Z
End If
Next
End Sub
Entgegen deiner Aussage hattest du die Zählererhöhung Z= Z + 1 auskommentiert, also stillgelegt.
Die Variable anzZeilen war im Code weder deklariert noch hat sie einen Wert erhalten.
Wie bereits ausgeführt, fehlte vor ".Formula" bei Range("A1:A" die zweite Zeilennummer, als Zahl oder Variable. Die dahinter angegebene Formel war ebenfalls nicht syntaktisch korrekt.
Das Ganze (so) in eine Schleife zu stellen, ist schon überflüssig, zumal, wenn am Schluss die Formel mit einem Wert per Code noch überschrieben wird.
Da hilft es auch nicht weiter, wenn ..Formula= "1" von Excel automatisch ausgebessert wird u. es natürlich widersinnig ist, wie vorgeschlagen die Formel bis zur allerletzten Zeile der Tabelle runterzuschreiben.
Vermutlich suchst du sowas. Die sich aus deiner Tabelle ergebenden Besonderheiten zu Struktur u. Ablauf müsstet du halt ggf. noch darlegen.
Sub c()
If Cells(1, 1) = "" Then Cells(1, 1) = 1
Range(Cells(2, 2), Cells(Rows.Count, 2).End(xlUp)).Offset(, -1).FormulaR1C1 = "=R[-1]C+1"
End Sub
Guten Rutsch
Gerd

Anzeige
AW: Formel mit VBA in Bereich schreiben
31.12.2015 14:59:28
Stefan Doliwa
Hi Gerd,
diese Programmierung verstehe ich:
If Cells(1, 1) = "" Then Cells(1, 1) = 1
Range(Cells(2, 2), Cells(Rows.Count, 2).End(xlUp)).Offset(, -1).FormulaR1C1 = "=R[-1]C+1"
Und wenn man die hat, fragt man sich, warum ich von hinten durchs Auge wollte...HMMM
Auch Dir einen guten Rutsch
Stefan

Nimmt das "offen" aus dem Thread FNJ & owT
31.12.2015 17:11:28
RPP63

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige