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

Replace

Replace
06.09.2018 10:57:08
Georg
Liebe Mitglieder,
ich möchte eigentlich nichts anderes machen als:
In jedem Arbeitsblatt(variabel) steht von A7:A"rowcount" ein Datum: 01.02.2018 usw.
Jedes Arbeitsblatt repräsentiert einen Monat.
Ich möchte in jedem Arbeitsblatt in diesem Bereich(A7-A"rowcount") 01.02.2018 durch 01.02.2019 usw. ersetzen, leider komm ich nicht ganz klar damit:
Bisher bin soweit gekommen:
DANKE!!!
Sub Jahreswechsel()
Dim Datei2019 As Workbook
Dim BPx As String
Dim strFilter As String
Dim strFileName As String
Dim i As Long
Dim arrName, arrMonat(1 To 12), arrMonatLang(1 To 12)
Dim MaxWs As Long
MaxWs = 12
'DateiÖffnen Dialog
strFilter = "Excel-Dateien(*.xlsx), *.xlsx" '** Dateifilter definieren
ChDrive "Q"
ChDir "Q:\Bereitschaftspraxen\Dienstprotokolle\Unterfranken" '** Laufwerk und Pfad _
definieren, welcher geöffnet werden soll
'** Den im Dialogfeld gewählten Namen auslesen
strFileName = Application.GetOpenFilename(strFilter)
Set Datei2019 = Workbooks.Open(strFileName)
'** Hinweis ausgeben
'MsgBox "Die Datei '" & WbNeuFallzahl.Name & "' wurde geöffnet.", vbInformation, _
"Hinweis"
Datei2019.Activate
Dim x As Long
x = MaxWs - Datei2019.Worksheets.Count
Dim lastRow As Long
lastRow = Range("A" & Tabelle1.Rows.Count - 4).End(xlUp).Row
Dim rg As Range
For i = 1 To x
With Worksheets(x)
Set rg = .Range(.Cells(7, 1), .Cells(lastRow, "A:A"))
End With
Next i
For i = 1 To x
With Datei2019.Worksheets(i)
'AB HIER WEIss ICH NICHT MEHR GANZ WEITER; BRAUCHE ICH rg als Range überhaupt. 'Wie ersetze  _
ich einen Teilstring?
x = x + 1
End With
Next i
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: von Hand?
06.09.2018 11:10:46
Hand?
Hallo,
versuche folgendes:
- in einer freien Zelle "365" eintragen und kopieren
- Die Spalte A markieren und im Menü "Einfügen" "Addieren" auswählen
mfg
AW: Replace
06.09.2018 11:14:24
Daniel
Hi
Schwierig.
Ein Datum ist für Excel eine Zahl.
Das siehst du, wenn du die Zellen mit dem Datum mit dem Zahlenformat Standard formatiert.
Du müsstest also zum Wert 365 oder 366 (Schaltjahr) hinzuaddieren.
Gruß Daniel
AW: Replace
06.09.2018 11:57:28
Georg
Erstmals danke für die Tipps, das mit dem Addieren hatte ich bisher nicht auf dem Schirm. Wäre auch praktikabel,
ABER
ich muss oder will 120 Dateien ändern. Gibt es nicht doch eine VBA Lösung, gerne kann auch mit dem Wert 365 gearbeitet werden?
DANKE
Anzeige
AW: Replace
06.09.2018 11:55:14
daniel
Hi
probier mal folgenden Code:
ere berücksichtigt Schaltjahre und sollte damit auch 2020 funktionieren.
Sub test()
Dim Datei2019 As Workbook
Dim wsh As Worksheet
Dim Zelle As Range
Set Datei2019 = Workbooks.Open(strFileName)
For Each wsh In Datei2019.Worksheets
If WorksheetFunction.Count(wsh.Columns(1)) > 0 Then
For Each Zelle In wsh.Columns(1).SpecialCells(xlCellTypeConstants, 1)
If Zelle.Row >= 7 Then
Zelle = DateSerial(Year(Zelle) + 1, Month(Zelle), Day(Zelle)) _
+ (Format(Zelle, "DD.MM") = "29.02")
End If
Next
End If
Next
End Sub
Gruß Daniel
Anzeige
AW: Replace : GENIAL
06.09.2018 12:07:52
Georg
..vielen Dank Daniel, klappt perfekt - wie immer. Leider kenne ich mich mit den Funktionen immer noch nicht so gut aus. Gruß G

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige