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

Monatsende Zeilennummer angeben

Monatsende Zeilennummer angeben
10.02.2021 10:10:11
Dieter(Crummer)
Guten Tag Spezialisten-/innen.
Mit folgender Formel wird das Monatsdatum und jeder Tag doppelt gelistet. Das Funktioniert.
Z.B. In A1 steht 01.02.2021. In A2 dann die Formel: =A$1+KÜRZEN(ZEILE(A1)/2) bis weiter runter.
Suche folgende Formel in A2, Datum aus A1, jeden Tag doppelt, nur bis Ende des Monats auflisten.
Wichtig dabei, die Zeilennummer des letzten Monatstages aus Spalte angeben, z.B. in irgendeiner Zelle.
Auch eine VBA Lösung wäre prima. Habe leider bisher keine Lösung gefunden.
Mit der Bitte um Hilfe,
grüßt, Dieter(Drummer)

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monatsende Zeilennummer angeben
10.02.2021 10:20:39
Matthias
Hallo Dieter
meinst Du so?
Tabelle1

 A
101.01.2021
201.01.2021

Formeln der Tabelle
ZelleFormel
A2=WENNFEHLER(WENN(MONAT(A$1+KÜRZEN(ZEILE(A1)/2))=MONAT(A1);A$1+KÜRZEN(ZEILE(A1)/2);"");"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Formel ziehst Du bis Zeile(62) runter.
Gruß ...
Anzeige
AW: Danke Matthias, das klappt schonmal, aber ...
10.02.2021 10:32:02
Dieter(Drummer)
... es fehlt noch die Angabe der letzen Zeilennummer, des letzten Monatstages, in irgendeiner Zelle, da ich diese weiter verwenden möchte. Könnte mir vorstellen, dass es nur in VBA möglich wäre.
Hast Du da noch eine Lösung?
Danke dennoch schon für Teillösung.
Gruß, Dieter(Drummer)
schau mal 10:26:32
10.02.2021 10:39:59
Matthias
AW: Monatsende Zeilennummer angeben
10.02.2021 10:26:32
Matthias
Tabelle1

 ABC
101.02.2021 28.02.2021
201.02.2021 Zeile 56

Formeln der Tabelle
ZelleFormel
C1=MONATSENDE(A1;0)
A2=WENNFEHLER(WENN(MONAT(A$1+KÜRZEN(ZEILE(A1)/2))=MONAT(A1);A$1+KÜRZEN(ZEILE(A1)/2);"");"")
C2=VERGLEICH($C$1;$A$1:$A$62;1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Anzeige
AW: Danke Matthias, das klappt prima ...
10.02.2021 10:39:13
Dieter(Drummer)
... ich hatte wohl vor deiner neuen Lösung zu schnell geantwortet.
Danke dir und werde nun versuchen, dies auch in VBA umzusetzen. Dies wird wohl für mich nicht so einfach sein, aber probieren geht über studieren :-).
Gruß Dieter(Drummer)
AW:mit VBA
10.02.2021 10:44:06
hary
Moin Dieter
Dim i As Long
i = DateSerial(Year(Cells(1, 1)), Month(Cells(1, 1)) + 1, 0)
i = (i - Cells(1, 1) + 1) * 2
Cells(2, 1).Resize(i - 1, 1).FormulaLocal = "=A$1+KÜRZEN(ZEILE(A1)/2)"
Range("C2") = i

gruss hary
AW: Danke Hary, das klappt teilweise ...
10.02.2021 11:01:28
Dieter(Drummer)
... Wenn z.B, in A1 der 01.02.2021 steht, schreibt der Code in Zelle C2, den 25.02.1900.
Hast Du da noch eine Lösung?
Dennoch Danke für ersten Teil der VBA Lösung.
Gruß, Dieter(Drummer)
Anzeige
Range("C2").NumberFormat = "General"
10.02.2021 11:09:30
Matthias
AW: Danke Matthias, Top of the Pops ...
10.02.2021 11:14:13
Dieter(Drummer)
... klappt wie gewünscht.
Gruß und Danke,
Dieter(Drummer)
AW: Code Änderung für ab Zelle B11 mit Fehler
10.02.2021 16:55:11
Dieter(Drummer)
Guten Tag Matthias.
Nach der tollen heutigen Hilfe von Hary und dir, habe ich versucht, den Code ab Zelle B11 zu beginnen.
Es funktioniert leider nur mit Fehler und ich komm nicht dahinter, was falsch ist.
Der Fehler ist, dass ab Zelle B12, der 06.02.2021 gelistet wird usw.
Hier meine Musterdatei: https://www.herber.de/bbs/user/143804.xlsm
Mit der erneuten Bitte um Hilfe,
grüßt Dieter(Drummer)
Mein jetziger, angepasster Code:
Sub Monat_Zeile_mx() 'Herber: von hary am 10.02.2021 10:44:06
Dim i As Long
i = DateSerial(Year(Cells(11, 2)), Month(Cells(11, 2)) + 1, 0)
i = (i - Cells(11, 2) + 1) * 2
Cells(12, 2).Resize(i - 1, 1).FormulaLocal = "=B$11+KÜRZEN(ZEILE(B11)/2)"
Range("C2") = i
Range("C2").NumberFormat = "General" 'Herber: von Matthias L am 10.02.2021 11:09:30
End Sub

Anzeige
Formel-Änderung für ab Zelle B11 ohne Fehler
11.02.2021 00:14:16
Matthias
Hallo Dieter,
Tabelle1

 BC
1 31.01.2021
2 Zeile 72
3  
4  
5  
6  
7  
8  
9  
10  
1101.01.2021 
1201.01.2021 

Formeln der Tabelle
ZelleFormel
C1=MONATSENDE(B11;0)
C2=VERGLEICH($C$1;$B$1:$B$72;1)
B12=WENNFEHLER(WENN(MONAT(B$11+KÜRZEN(ZEILE(B1)/2))=MONAT(B11);B$11+KÜRZEN(ZEILE(B1)/2);"");"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige
AW: Danke Matthias, das klappt, aber ...
11.02.2021 08:25:47
Dieter(Drummer)
Hallo Matthias,
Sorry für späte Rückmeldung.
... wäre prima, wenn Du mir auch die VBA Lösung anpassen könntest. Ich konnte die notwendige Anpassung nur teilweise schaffen.
Ich hatte auch Hary um weitere Hilfe gebeten, aber evtl. ist er anderweitig tätig.
Mit der erneuten Bitte um Hilfe, grüßt
Dieter(Drummer)
AW: Formel-Änderung für ab Zelle B11 ohne Fehler
11.02.2021 10:41:50
Dieter(Drummer)
Hallo Matthias,
dir auch nochmal Danke für deine Formellösung, die klappt. Hary hat mir jetzt die VBA Lösung gesendet, die klappt auch. Nun habe ich zwei tolle Lösungensvarianten. Dank an euch!
Zur Info deiner Formellösung, kann ich auch deine Variante per VBA nutzen, wie folgt:
'Zelle B12 Formel einfügen und B12:B72 Formel anpassen und einfügen
Sub Formel_B12()
Range("B12").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(IF(MONTH(R11C+TRUNC(ROW(R[-11]C)/2))=MONTH(R[-1]C),R11C+TRUNC(ROW(R[-11]C)/2), _
""""),"""")"
Selection.AutoFill Destination:=Range("B12:B72"), Type:=xlFillDefault
Range("B13").Select
End Sub
Gruß, Dieter(Drummer)
Anzeige
AW: AW: Code ab Zelle B11, kommt Fehler
10.02.2021 17:54:56
Dieter(Drummer)
Sorry Hary,
dass ich meine erneute Frage an Mattias gesendet hatte, da der Code ja ursächlich von dir ist.
Hier meine Frage an Matthias, statt an dich:
...
Nach der tollen heutigen Hilfe von Hary und dir, habe ich versucht, den Code ab Zelle B11 zu beginnen.
Es funktioniert leider nur mit Fehler und ich komm nicht dahinter, was falsch ist.
Der Fehler ist, dass ab Zelle B12, der 06.02.2021 gelistet wird usw.
Hier meine Musterdatei: https://www.herber.de/bbs/user/143804.xlsm
Mit der erneuten Bitte um Hilfe,
grüßt Dieter(Drummer)
Mein jetziger, angepasster Code:
Sub Monat_Zeile_mx() 'Herber: von hary am 10.02.2021 10:44:06
Dim i As Long
i = DateSerial(Year(Cells(11, 2)), Month(Cells(11, 2)) + 1, 0)
i = (i - Cells(11, 2) + 1) * 2
Cells(12, 2).Resize(i - 1, 1).FormulaLocal = "=B$11+KÜRZEN(ZEILE(B11)/2)"
Range("C2") = i
Range("C2").NumberFormat = "General" 'Herber: von Matthias L am 10.02.2021 11:09:30
End Sub

Anzeige
AW: AW: Code ab Zelle B11, kommt Fehler
11.02.2021 10:06:42
hary
Moin Dieter
In der Formel musst du nur in Zeile() es bei B1 belassen und zuletzt i + 10
Sub Monat_Zeile_mx() 'Herber: von hary am 10.02.2021 10:44:06
Dim i As Long
i = DateSerial(Year(Cells(11, 2)), Month(Cells(11, 2)) + 1, 0)
i = (i - Cells(11, 2) + 1) * 2
Cells(12, 2).Resize(i - 1, 1).FormulaLocal = "=B$11+KÜRZEN(ZEILE(B1)/2)"
Range("C2") = i + 10
Range("C2").NumberFormat = "General" 'Herber: von Matthias L am 10.02.2021 11:09:30
End Sub

gruss hary
AW: AW: Danke Hary, klappt prima ...
11.02.2021 10:33:31
Dieter(Drummer)
... und werde mir deinen Code durch arbeiten.
Gruß, und nochmal Danke.
Dieter(Drummer)
Anzeige
AW: Formelfreie Serie
11.02.2021 16:25:42
GerdL
Hallo Dieter!
Sub Unit()
Range("C2").NumberFormat = "general"
With Range("B11")
.Value = CDate("01.02.2021")
.DataSeries rowcol:=xlColumns, Type:=xlDay, step:=0.5, stop:= WorksheetFunction. _
EoMonth(.Value, 0) + 0.5
Range("C2") = .End(xlDown).Row
End With
End Sub

Gruß Gerd
AW: Danke Gerd, funktioniert auch, aber ...
11.02.2021 18:44:40
Dieter(Drummer)
... leider muss dort das Startdatum, z.B. hier 01.02.2021, im Code hinterlegt sein.
Das Startdatum wird aber in Zelle B11 manuell eingesetzt oder mit einem anderen Code, Plus oder Minus, monatlich geändert.
Hast Du da noch eine Lösung?
Dennoch Danke erstmal für deine Variante.
Gruß, Dieter(Drummer)
Anzeige
AW: Danke Gerd, funktioniert auch, aber ...
11.02.2021 19:13:07
GerdL
Naja,
rufe den Code im Worksheet_Change auf.
...bei
If Target.Address= "$B$11"
If IsDate(Target) ..
Gruß Gerd
AW: Danke Gerd, funktioniert auch, aber ...
11.02.2021 19:38:31
Dieter(Drummer)
Hallo Gerd,
Danke erstmal für Rückmeldung. Ich schaffe es aber nicht, deine Info entsprechend umzusetzen.
Welche Zeilen fliegen raus und wo müssen die Zeilen eingefügt werden?
Hier meine jetziger Code unter Tabelle1:
'Herber: von GerdL am 11.02.2021 16:25:42
Private Sub Worksheet_Change(ByVal Target As Range)
Range("B2").NumberFormat = "general"
'If Target.Address = "$B$11" Then ?
'If IsDate(Target)=B11 ?
.DataSeries rowcol:=xlColumns, Type:=xlDay, step:=0.5, stop:=WorksheetFunction. _
EoMonth(.Value, 0) + 0.5
Range("B2") = .End(xlDown).Row
End With
End Sub
Sorry, aber ich bin weit von Spezialisten entfernt.
Wäre schön, wenn Du da ncohmal helfen kannst.
Gruß, Dieter(Drummer)
wie lange geht das noch?
11.02.2021 19:53:35
Helmut
..wie viele Lösungen brauchts Du für das Problem?
AW: Habe schon ausreichend Lösungen, dennoch ...
11.02.2021 20:03:26
Dieter(Drummer)
... ist es für mich selbstverständlich, auch Gerd zu Antworten und es zu einer richtigen Lösung zu bringen.
Deine Anmerkungen sind völlig überflüssig, aber solche Art Mitteilungen kommen ja häufig von Dir ...
Dennoch Gruß, Dieter(Drummer)
AW: Aufrufen mit Ereignisproezedur
11.02.2021 19:58:31
GerdL

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If IsDate(Target) Then
Call Unit
End If
End If
End Sub
..und in "Unit" die Wertzuweisung des Datums rausnehmen.
Gruß Gerd
AW: Danke Gerd für Lösung und ...
11.02.2021 20:14:34
Dieter(Drummer)
... ich muss mich noch damit auseinander setzen, wie ich das anpasse:
"..und in "Unit" die Wertzuweisung des Datums rausnehmen."
Irgendwie werde ich das wohl schaffen.
Danke dir und Gruß,
Dieter(Drummer)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige