Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel wiederherstellen ?

Forumthread: Formel wiederherstellen ?

Formel wiederherstellen ?
18.12.2019 07:44:25
Alex
Guten Morgen,
Ich benutze in einen CommandButton um in einer Spalte zu dem Markierten Bereich Einträge zu machen,
Beispiel "U" für Urlaub, jetzt ist es aber so dass dann die Formel die sich in der jeweiligen Zelle überschrieben wird mit dem "U". Das selbe hätte ich jetzt gern so gehabt das es auch einen CommandButton gibt mit dem ich die Formel in dem Markierten Bereich wiederherstellen kann, mit samt den Zellbezügen. Ist das möglich ?
Die Formel wäre:
=WENN(N10=1;"X";WENN(N10=0;"";WENN(N10=2;"X";)*WENN(N10=3;"X";WENN(N10=4;"X";WENN(N10=5;"X"; WENN(N10=6;"X";WENN(N10=7;"X";WENN(N10=8;"X";WENN(N10=9;"X";WENN(N10=10;"X";WENN(N10=11;"X"; WENN(N10=12;"X";WENN(N10=13;"X";WENN(N10=14;"X";WENN(N10=15;"X";WENN(N10=16;"X";WENN(N10=17;"X"; WENN(N10=18;"X";WENN(N10=19;"X";WENN(N10=20;"X";WENN(N10=21;"X";WENN(N10=22;"X";WENN(N10=23;"X"; WENN(N10=24;"X";WENN(N10=25;"X";WENN(N10=26;"X";WENN(N10=27;"X";WENN(N10=28;"X";WENN(N10=29;"X"; WENN(N10=30;"X";WENN(N10=31;"X";WENN(N10=32;"X";WENN(N10=33;"X";WENN(N10=34;"X";WENN(N10=35;"X"; WENN(N10=36;"X";WENN(N10=37;"X";WENN(N10=38;"X";WENN(N10=39;"X";WENN(N10=40;"X";WENN(N10=41;"X"; WENN(N10=42;"X";WENN(N10=43;"X";WENN(N10=44;"X";WENN(N10=45;"X";WENN(N10=46;"X";WENN(N10=47;"X"; WENN(N10=48;"X";WENN(N10=49;"X";WENN(N10=50;"X";WENN(N10=51;"X";WENN(N10=52;"X";WENN(N10=53;"X"; WENN(N10=54;"X";WENN(N10=55;"X";WENN(N10=56;"X";WENN(N10=57;"X";WENN(N10=58;"X";WENN(N10=59;"X"; WENN(N10=60;"X";))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Aktuell benutze ich diesen Code um die Einträge in den markierten Bereich zu erstellen:
Private Sub UrlaubGenehmigt_Click()
Antwort = MsgBox("Urlaub im markierten Bereich genehmigen", 292, "Urlaub genehmigen")
If Antwort = vbYes Then
With Selection.Interior
.Pattern = xlSolid
.Color = RGB(0, 255, 0)
.TintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
Selection.Value = "U"
End If
End Sub
Danke für die Hilfe, Gruss
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Formel wiederherstellen ?
18.12.2019 07:56:30
hary
Moin
Nur am Rande. Wat 'ne riesen Formel.
Versuch mal diese:
=WENN(UND(N10>0;N10<=60);"x";"")
gruss hary
AW: Formel wiederherstellen ?
18.12.2019 08:05:51
Alex
Danke Hary :)
AW: Formel wiederherstellen ?
18.12.2019 08:09:17
hary
Moin nochemal
Und fuer das eintragen der Formel, wenn die gekuerzte passt. Nimm FormulaR1C1.
Selection.FormulaR1C1 = "=IF(AND(RC[1]>0,RC[1]

gruss hary
Anzeige
AW: Formel wiederherstellen ?
18.12.2019 08:13:51
Alex
Vielen Dank für die Hilfe
AW:kleine Korrektur
18.12.2019 08:22:10
hary
Moin
Die Formel mit absolutem Bezug ist evtl. besser.
Selection.FormulaR1C1 = "=IF(AND(RC14>0,RC14

gruss hary
AW: Formel wiederherstellen ?
18.12.2019 08:04:04
Jürgen
Hallo Alex,
wo sollte hier das Problem sein?
Einfach den Makrorecorder verwenden. :-)
Private Sub UrlaubGenehmigt_Click()
Antwort = MsgBox("Urlaub im markierten Bereich genehmigen", 292, "Urlaub genehmigen")
Dim xCell As Variant
If Antwort = vbYes Then
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
Selection.FormulaR1C1 = "=IF(RC[-2]=1,""X"",IF(RC[-2]=0,"""",IF(RC[-2]=2,""X"",)*IF(RC[- _
2]=3,""X"",IF(RC[-2]=4,""X"",IF(RC[-2]=5,""X"", IF(RC[-2]=6,""X"",IF(RC[-2]=7,""X"",IF(RC[-2]=8,""X"",IF(RC[-2]=9,""X"",IF(RC[-2]=10,""X"",IF(RC[-2]=11,""X"", IF(RC[-2]=12,""X"",IF(RC[-2]=13,""X"",IF(RC[-2]=14,""X"",IF(RC[-2]=15,""X"",IF(RC[-2]=16,""X"",IF(RC[-2]=17,""X"", IF(RC[-2]=18,""X"",IF(" & _
"RC[-2]=19,""X"",IF(RC[-2]=20,""X"",IF(RC[-2]=21,""X"",IF(RC[-2]=22,""X"",IF(RC[-2]=23," _
"X"", IF(RC[-2]=24,""X"",IF(RC[-2]=25,""X"",IF(RC[-2]=26,""X"",IF(RC[-2]=27,""X"",IF(RC[-2]=28,""X"",IF(RC[-2]=29,""X"", IF(RC[-2]=30,""X"",IF(RC[-2]=31,""X"",IF(RC[-2]=32,""X"",IF(RC[-2]=33,""X"",IF(RC[-2]=34,""X"",IF(RC[-2]=35," & _
"""X"", IF(RC[-2]=36,""X"",IF(RC[-2]=37,""X"",IF(RC[-2]=38,""X"",IF(RC[-2]=39,""X"",IF( _
RC[-2]=40,""X"",IF(RC[-2]=41,""X"", IF(RC[-2]=42,""X"",IF(RC[-2]=43,""X"",IF(RC[-2]=44,""X"",IF(RC[-2]=45,""X"",IF(RC[-2]=46,""X"",IF(RC[-2]=47,""X"", IF(RC[-2]=48,""X"",IF(RC[-2]=49,""X"",IF(RC[-2]=50,""X"",IF(RC[-2]=51,""X"",IF(R" & _
"C[-2]=52,""X"",IF(RC[-2]=53,""X"", IF(RC[-2]=54,""X"",IF(RC[-2]=55,""X"",IF(RC[-2]=56," _
"X"",IF(RC[-2]=57,""X"",IF(RC[-2]=58,""X"",IF(RC[-2]=59,""X"", IF(RC[-2]=60,""X"",))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" & _
End If
End Sub
Gruß
Jürgen
Anzeige
AW: Formel wiederherstellen ?
18.12.2019 08:46:35
Daniel
Hi
Kopieren dir aus der normalen Tabelle die funktionierende Formel in eine freie Zelle (z.b. im Überschriftenbereich)
Im Code des Button musst du dann nur noch die Formel dieser Zelle in den selektierten Bereich über tragen:
Selection.FormulaR1C1 = Range("...").FormulaR1C1

Oder wenn du Vorlagenzelle passend formatierst, kannst du Formel und Formatierung gleichzeitig zurück setzen:
Range("...").Copy destination:=Selection
Das hätte folgende Vorteile:
Du kannst die Formel jederzeit ändern, ohne in den Code eingreifen zu müssen, dh. das kann im Bedarfsfall such der VBA unkundige Anwender selber machen.
Die ganze Aktion lässt sich so auch ohne Makro ausführen.
Gruß Daniel
Anzeige
AW: Formel wiederherstellen ?
18.12.2019 09:30:06
Alex
Danke für die Hilfe
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige