Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel in VBA übertragen

Forumthread: Formel in VBA übertragen

Formel in VBA übertragen
19.04.2004 23:37:50
W. Ebenbeck
Hallo zusammen!
Zuerst möchte ich mal ein großes DANKE an alle Leute auf diesem Board weitergeben, denen ich seit Wochen die Lösung vieler Probleme verdanke. Der Recherche sei dank....
Zu meinem Problem: Ich möchte anhand einer Datumsangabe die zugehörige Kalenderwoche bestimmen. Dies hab ich bis jetzt mehr oder weniger elegant über eine Formel gelöst, die ich per makro in die entsprechenden Zellen weiter kopierte.
=VERKETTEN(WENN(TEXT(C2;0)*1>37983;AUFRUNDEN(((((TEXT(C2;0))-36523)/365)-(ABRUNDEN((((TEXT(C2;0))-36523)/365);0)))*52;0);AUFRUNDEN(((((TEXT(C2;0))-36524)/365)-(ABRUNDEN((((TEXT(C2;0))-36524)/365);0)))*52;0));"/0";ABRUNDEN(((TEXT(C2;0))/365)-100;0))~f~
Leider kann ich nun diese Formel nicht mehr in der relevanten Spalte in AB1 eintragen und runter kopieren, da ich somit Schwierigkeiten mit der Pivot-Auswertung bekomme.
Jetzt wollte ich dies per Makro direkt einfügen lassen und versuchte es mit:
Cells(2, 28).FormulaLocal = "=CONCATENATE(IF(TEXT(C2,0)*1>37983,ROUNDUP(((((TEXT(C2,0))-36523)/365)-(ROUNDDOWN((((TEXT(C2,0))-36523)/365),0)))*52,0),ROUNDUP(((((TEXT(C2,0))-36524)/365)-(ROUNDDOWN((((TEXT(C2,0))-36524)/365),0)))*52,0)),ROUNDDOWN(((TEXT(C2,0))/365)-100,0))"
Leider bekam ich als Ergebnis nur einen Laufzeitfehler....
Für jeden Tip bin ich dankbar!
Gruss
Wolfgang
Hoffe meine Nachricht ist nicht zu lang, wollte einfach alles relevante sagen.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kalenderwoche per Formel
20.04.2004 00:01:47
FP
Hallo Wolfgang,
wozu VBA, geht doch auch so?
in A1 steht das Datum
=KÜRZEN((A1-DATUM(JAHR(A1+4-WOCHENTAG(A1;2));1;-9+WOCHENTAG(A1;3)))/7)
Servus aus dem Salzkammergut
Franz
AW: Kalenderwoche per Formel
20.04.2004 01:23:02
W. Ebenbeck
Hallo Franz,
warum vba ? weil es sich um mittlerweile 4500 einträge handelt, diese werden jede woche um ca. 100 einträge erweitert. dies geschieht bis jetzt völlig ohne zugriff auf die eigentliche tabelle. da dies auch so bleiben soll, möchte ich nur sehr ungern eine formel manuell einfügen. tja und wie gesagt geht das mit dem kopieren von formeln per vba nicht mehr so einfach.
Aber auf alle fälle danke für deinen vorschlag, eleganter gehts ja wohl kaum mehr...

gruss
wolfgang
Anzeige
AW: Kalenderwoche per Formel
20.04.2004 07:17:11
andre
hallo wolfgang,
zeichne das mal auf und passe die formel dann an, dann gehts.
aufgezeichnet:
ActiveCell.FormulaR1C1 = _
"=IF(TEXT(R[1]C[2],0)*1>37983,ROUNDUP(((((TEXT(R[1]C[2],0))-36523)/365)-(ROUNDDOWN((((TEXT(R[1]C[2],0))-36523)/365),0)))*52,0),ROUNDUP(((((TEXT(R[1]C[2],0))-36524)/365)-(ROUNDDOWN((((TEXT(R[1]C[2],0))-36524)/365),0)))*52,0))?""/0"" ((TEXT(R[1]C[2],0))/365) "
gruss andre
Anzeige
AW: Kalenderwoche per Formel
20.04.2004 11:28:58
W.Ebenbeck
Hallo,
hab jetzt die Lösung gefunden, habe die Formel von Franz für mich angepasst und dann aufgezeichnet (Warum konnte ich bloss meine nie aufzeichnen ?).
Funktioniert bestens wie folgt:

Sub macrotest()
Worksheets("Arbeitsmappe1").Activate
Cells(3, 28).Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(TRUNC((RC[-25]-DATE(YEAR(RC[-25]+4-WEEKDAY(RC[-25],2)),1,-9+WEEKDAY(RC[-25],3)))/7),"" / "",YEAR(RC[-25]))"
End Sub

Nochmals danke für eure Hilfe andre & Franz
Gruss
Wolfgang
Anzeige
AW: Kalenderwoche per Formel
20.04.2004 11:38:50
Ulf
Also, Frage erledigt?
Ulf
Alles klar danke!
20.04.2004 21:24:24
W. Ebenbeck
gruss wolfgang
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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