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

KW in der Woche verändern per VBA

KW in der Woche verändern per VBA
05.05.2022 18:32:58
Robert
Hallo liebe Exelfreunde,
da es mit einer Formel nicht zu funktionieren scheint stelle ich heute noch mal meine Frage ins Forum um Eure Hilfe zu bitten. Eine Frage zur Hilfestellung. Kann ich per VBA in der Formel die jeweilige Wochenzahl aus M2 bis 5 oder sogar C2, C26;C50,C74,C98 in die Formel schreiben so das aus der Formel =WENNFEHLER('N:\Datencenter\KW2022\[14KW2022.xlsm]Zentral Zeitg.Werbg.'!B4;"") diese wird =WENNFEHLER('N:\Datencenter\KW2022\[19KW2022.xlsm]Zentral Zeitg.Werbg.'!B4;"") und das jeweils in 22er Schritten für jeweils 5 Kalenderwochen. Dies sollte auf der Seite in 22 Schritten und zwei Zeilen frei erfolgen. Ab der 2. Zeile.
Wäre sehr nett wenn Ihr mir helfen könntet.
https://www.herber.de/bbs/user/152899.xlsm
Mit freundlichen Grüßen
Robert

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

Betreff
Datum
Anwender
Anzeige
AW: KW in der Woche verändern per VBA
06.05.2022 09:47:25
UweD
Hallo
versuch es mal so

Sub Formeländern()
Dim AnzKW As Integer, Schritt As Integer
Dim Z1 As Integer, i As Integer, Arr
ReDim Arr(2)
AnzKW = 5
Schritt = 22
Z1 = 2 'erste Datenzeile
For i = Z1 To AnzKW * Schritt + AnzKW * 2 Step Schritt + 2
With ActiveSheet.Cells(i, 2)
Arr(0) = Split(.Formula, "[")(0)
Arr(1) = .Offset(0, 1)
Arr(2) = Split(.Formula, "KW")(2) ' Trennung bei 2.KW
.Resize(Schritt, 1).Formula = Arr(0) & "[" & Arr(1) & "KW" & Arr(2)
End With
Next
End Sub
LG UweD
AW: KW in der Woche verändern per VBA
08.05.2022 11:10:59
Robert
Hallo Uwe und Yal!
Erstmal Danke für Eure Hilfe. Muss nun noch eine Frage stellen, mit der Spalte B geht es bestens mit Uwe seinem Code. Was muss ich aber ändern um den gleichen Effekt mit den Spalten D,E und F zu erzielen. Stelle nochmal den Link zu Beispieldatei mit ein
Für Eure nochmalige Hilfe wäre ich sehr dankbar.
https://www.herber.de/bbs/user/152899.xlsm
LG Robert
Anzeige
AW: KW in der Woche verändern per VBA
09.05.2022 11:51:17
UweD
Hallo
habe das makro für mehrere Spalten erweitert

Sub Formeländern()
Dim AnzKW As Integer, Schritt As Integer
Dim SP, SpKw As Integer, Z1 As Integer, i As Integer, Arr, arrSp
ReDim Arr(2)
AnzKW = 5
Schritt = 22
Z1 = 2 'erste Datenzeile
arrSp = Array(2, 4, 5, 6) 'Formeln in Spalte BDEF
SpKw = 3 'Spalte C mit KW
For i = Z1 To AnzKW * Schritt + AnzKW * 2 Step Schritt + 2
For Each SP In arrSp
With ActiveSheet.Cells(i, SP)
Arr(0) = Split(.Formula, "[")(0)
Arr(1) = ActiveSheet.Cells(i, SpKw)
Arr(2) = Split(.Formula, "KW")(2) ' Trennung bei 2.KW
.Resize(Schritt, 1).Formula = Arr(0) & "[" & Arr(1) & "KW" & Arr(2)
End With
Next
Next
End Sub
LG UweD
Anzeige
AW: KW in der Woche verändern per VBA
06.05.2022 09:56:28
Yal
Hallo Robert,
anstatt die Formel zu ändern, kannst Du die Formel dymanisch gestalten. Dafür gibt es INDIREKT:

=WENNFEHLER(INDIREKT('N:\Datencenter\KW2022\["&C2&"KW2022.xlsm]Zentral Zeitg.Werbg.'!B" &Zeile(C2)); "") 
VG
Yal
AW: KW in der Woche verändern per VBA
06.05.2022 10:17:47
UweD
Hi Yal
Indirekt doch nur bei geöffneter Datei möglich. Oder?
LG UweD
AW: KW in der Woche verändern per VBA
06.05.2022 10:33:30
Yal
Hallo Uwe,
ich gebe zu: weder habe ich es getestet noch bin ich Formel-Guru. Daher gebe ich Dir sofort recht :-)
Dann Makro. Ganz gut in dem Fall ist der Replace. Vorausgesetzt es gibt ein sicheren Muster zu ersetzen:

Sub Formeländern()
Dim Z As Range
Const cFormel = "=IFERROR('N:\Datencenter\KW2022\[@@@KW2022.xlsm]Zentral Zeitg.Werbg.'!RC3,"""")"
Const cSpaltenOffset = 10
For Each Z In Range(Range("C2"), Range("C99999").End(xlUp))
If IsNumeric(Z.Value) Then Z.Offset(0, cSpaltenOffset).FormulaR1C1 = Replace(cFormel, "@@@", Z.Value)
Next
End Sub
Ein schönes Wochenende
VG
Yal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige