Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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

FormulaLocal - Fehler

FormulaLocal - Fehler
Heinz
Guten morgen im Forum
Habe ein Makro Das mir zuerst Werte löscht. Das funktioniert.
Nur ab "With Range("C8:C38")" habe ich einen Fehler.
Ich möchte nach dem Löschen in C8:C38 die Formel einfügen lassen.
Könnte mir bitte jemand weiterhelfen ?
Gruß
Heinz
Option Explicit
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If MsgBox("Wollen sie die alle Daten löschen ?", vbQuestion + vbYesNo, _
" Nachfrage Datenbank Aktualisierung !") = vbNo Then Exit Sub
ActiveSheet.Unprotect
Range("C8:C38,D8:D38,H8:H38,I8:I38,N8:N38,O8:O38").ClearContents
With Range("C8:C38")
.FormulaLocal = "=IF(WEEKDAY(RC[-2])=6,""PT/Woche"","""")"
ActiveSheet.Protect
Application.ScreenUpdating = True
End With
End Sub

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

Betreff
Benutzer
Anzeige
FormulaLocal - Fehler --> FormualaR1C1
17.11.2009 08:35:00
Björn
Hallo,
versuche es mal mit FormulaR1C1 statt FormulaLocal.
Das müsste klappen.
Gruß
Björn
AW: FormulaLocal - Fehler
17.11.2009 08:35:35
Oberschlumpf
Hi Heinz
der With/End With-Bereich
With Range("C8:C38")
.FormulaR1C1 = "=IF(WEEKDAY(RC[-2])=6,""PT/Woche"","""")"
ActiveSheet.Protect
Application.ScreenUpdating = True
End With
funktioniert bei mir tadellos.
In alle Zellen (C8:C38) wird die Formel gesetzt - entsprechend angepasst - und der Blattschutz wird auch gesetzt.
Ciao
Thorsten
lach...danke Björn!
17.11.2009 08:37:20
Oberschlumpf
...hatte gar nicht gesehen, dass der Makrorecorder eben genau aus .FormulaLocal ein .FormulaR1C1 "machte" :-)
Ciao
Thorsten
Anzeige
AW: Danke an Björn B & Oberschlumpf
17.11.2009 08:40:56
Heinz
Hallo Ihr beiden.
Ich bedanke mich recht herzlich,bei Euch beiden. !!!
Funkt.wie gewollt.
Noch einen schönen Tag
Gruß
Heinz
AW: Zusatzfrage
17.11.2009 08:52:18
Heinz
Hallo
Wäre es eventuell möglich die Formel als Wert eintragen?
Also in C8:C38 nicht die Formel, sondern wenn Freitag, dann denn Wert "PT/Woche" einzutragen ?
Gruß Heinz
Zusatzantwort
17.11.2009 10:11:27
Björn
Hallo,
da gibt es 2 Möglichkeiten.
Entweder Du prüfst in einer Schleife Zelle für Zelle und schreibst bei Bedarf den Wert in den Zielbereich, oder Du machst es wie bisher und machst am Ende einmal Kopieren und Werte einfügen.
Je nachdem, wieviele Zeilen es sind, kann die Variante 1 lange dauern. bei deinen 30 macht es aber kaum nen Unterschied. Würde dann so aussehen:

Dim zeile As Integer
For zeile = 8 To 38
If Weekday(Cells(zeile, 1).Value) = 6 Then Cells(zeile, 3).Value = "PT/Woche"
Next zeile
Gruß
Björn B.
Anzeige
AW: Zusatzantwort
17.11.2009 10:20:35
Heinz
Hallo Björn
Genial !!!
Recht herzlichen Dank
Gruß
Heinz
kürzer..
17.11.2009 08:39:06
Björn
.. geht das auch noch.
Da hier im With-Bereich nur 1 Zeile steht, kann man sich den ganz sparen.
Statt:
With Range("C8:C38")
.FormulaR1C1 = "=IF(WEEKDAY(RC[-2])=6,""PT/Woche"","""")"
ActiveSheet.Protect
Application.ScreenUpdating = True
End With
wäre folgendes zu schreiben:

Range("C8:C38").FormulaR1C1 = "=IF(WEEKDAY(RC[-2])=6,""PT/Woche"","""")"
ActiveSheet.Protect
Application.ScreenUpdating = True
Gruß
Björn

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige