Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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.

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
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

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige