Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1408to1412
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

Differenz Monate per VBA

Differenz Monate per VBA
10.02.2015 08:03:57
Jockel
Hallo,
ich habe eine Tabelle, deren stuktur folgendermassen aussieht:
In Spalte A ist immer ein Datum eingetragen, immer der erste eines Monats.
01.01.2015
01.02.2015
01.03.2015
01.04.2015
01.05.2015
usw.
Diese Spalte ist dann so formatiert, dass immer Monat und Jahr angezeigt werden.
Jan. 15
Feb. 15
Mrz. 15
Apr. 15
Mai. 15
usw.
In der Spalte G möchte ich in der Zeile, die meinem heutigen Monat entpricht, eine "0" (NULL) stehen haben. Also, wenn wir Februar haben, soll in der Zeile, in der in Spalte A "Feb. 15" steht, in der Spalte G eine NULL stehen.
Immer an der Zeile, in der die "0" steht, soll in der folgenden Zeile in G der Wert "1000" stehn.
also so zB.
A_______...G___
Jan. 15________
Feb. 15____0___
Mrz. 15____1000
Apr. 15________
Mai. 15________
Im nächsten Monat rutscht dann die "0" und die "1000" um jeweils eine Zeile nach unten. Ich möchte keine Formel verwenden, weil ich diese beide Werte in einem Diagramm weiter verarbeiten will.
Ich hoffe, ich konnte das verständlich erklären.
Danke mal
Jockel

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Differenz Monate per VBA
10.02.2015 09:50:04
Michael
Hallo Jockel!
Ich möchte keine Formel verwenden, weil ich diese beide Werte in einem Diagramm weiter verarbeiten will.

Das verstehe ich nicht, dann auch die Werte, die sich aus einer Formel ergeben, können in einem Diagramm angezeigt werden. Daher hier meine Formel-Idee dazu, diese Formel steht in Spalte G:
=WENN(MONAT(A1)=MONAT(HEUTE());0;WENN(MONAT(A1)=MONAT(HEUTE()+30);1000;""))
Ein Diagramm, das die Spalten A und G einbezieht, würde bspw. auf der x-Achse die fünf Monate zeigen, wobei eines davon einen Balken mit Wert 1000 hat.
Liebe Grüße
Michael

Anzeige
AW: Differenz Monate per VBA
10.02.2015 10:51:36
Jockel
Hallo Michael,
danke für die Formel. Bei mir funktioniert es aber tatsächlich nicht, wenn ich mit einer Formel Werte erzeuge und diese im Diagramm anzeigen lassen will, funktioniert nur, wenn ich die Werte fest rein schreibe.
Ich habe in meiner ersten Beschreibung aber noch ein Denkfehler drin:
Da sich die Zeitreihe nicht nur über ein Jahr erstreckt , sondern mehrere , würde die Formel immer im aktuellen und im nachfolgenden Monat diese beiden werte reinschreiben und das alle 12 MOnate wiederholen. Das aktuelle Jahr wird nicht berücksichtigt.
Die zwei Werte sollen aber nur im aktuellen Jahr drin stehn.
Vielleicht gibt es für mich doch eine VBA LÖsung.
Gruß
Jockel

Anzeige
AW: Differenz Monate per VBA
10.02.2015 12:48:36
Michael
Hallo Jockel!
Zur Berücksichtigung des aktuellen Jahres, hier noch die angepasste Zellformel:
=WENN(UND(MONAT(A2)=MONAT(HEUTE());JAHR(A2)=JAHR(HEUTE()));0;WENN(UND(MONAT(A2)=MONAT(HEUTE()+30);JAHR(A2)=JAHR(HEUTE()));1000;""))
Über VBA würd ich es so lösen - ist aber nicht besonders Performance-freundlich, wenn Deine Datumsliste viele Zeilen umfasst:
Sub MonatsWert()
Dim AktuellerMonat As Byte
Dim AktuellesJahr As Integer
Dim LetzteZeile As Long
Dim i As Long
AktuellerMonat = Month(Date)
AktuellesJahr = Year(Date)
LetzteZeile = Tabelle1.UsedRange.Rows.Count
For i = 2 To LetzteZeile
If Month(Tabelle1.Cells(i, 1).Value) = AktuellerMonat And _
Year(Tabelle1.Cells(i, 1).Value) = AktuellesJahr Then
Tabelle1.Cells(i, 1).Offset(0, 7).Value = 0
ElseIf Month(Tabelle1.Cells(i, 1).Value) = AktuellerMonat + 1 And _
Year(Tabelle1.Cells(i, 1).Value) = AktuellesJahr Then
Tabelle1.Cells(i, 1).Offset(0, 7).Value = 1000
Else: Tabelle1.Cells(i, 1).Offset(0, 7).Value = ""
End If
Next i
End Sub
Passt das für Dich?
Michael

Anzeige
AW: Differenz Monate per VBA
10.02.2015 18:10:25
jockel
Hallo Michael,
danke, das passt für mich, habe Dein VBA ein bischen geändert,
Geschwindigkeit ist ok.
Gruß jockel

Danke für die Rückmeldung und...
11.02.2015 09:45:18
Michael
Hallo Jockel!
Freut mich, dass ich Dir helfen konnte und Du nun eine Lösung hast. Du hast gesagt, Du hast den Code noch etwas verändert - stell' diesen Code doch auch noch zur Verfügung, das ist im Archiv evtl. für andere, die nach einer ähnlichen Fragestellung suchen, sicher hilfreich. Und dafür haben wir diesen tollen Fundus ja.
Schönen Tag!
Michael

AW: Differenz Monate per VBA
10.02.2015 10:52:05
Jockel
Hallo Michael,
danke für die Formel. Bei mir funktioniert es aber tatsächlich nicht, wenn ich mit einer Formel Werte erzeuge und diese im Diagramm anzeigen lassen will, funktioniert nur, wenn ich die Werte fest rein schreibe.
Ich habe in meiner ersten Beschreibung aber noch ein Denkfehler drin:
Da sich die Zeitreihe nicht nur über ein Jahr erstreckt , sondern mehrere , würde die Formel immer im aktuellen und im nachfolgenden Monat diese beiden werte reinschreiben und das alle 12 MOnate wiederholen. Das aktuelle Jahr wird nicht berücksichtigt.
Die zwei Werte sollen aber nur im aktuellen Jahr drin stehn.
Vielleicht gibt es für mich doch eine VBA LÖsung.
Gruß
Jockel

Anzeige
AW: Differenz Monate per VBA
10.02.2015 10:52:31
Jockel
Hallo Michael,
danke für die Formel. Bei mir funktioniert es aber tatsächlich nicht, wenn ich mit einer Formel Werte erzeuge und diese im Diagramm anzeigen lassen will, funktioniert nur, wenn ich die Werte fest rein schreibe.
Ich habe in meiner ersten Beschreibung aber noch ein Denkfehler drin:
Da sich die Zeitreihe nicht nur über ein Jahr erstreckt , sondern mehrere , würde die Formel immer im aktuellen und im nachfolgenden Monat diese beiden werte reinschreiben und das alle 12 MOnate wiederholen. Das aktuelle Jahr wird nicht berücksichtigt.
Die zwei Werte sollen aber nur im aktuellen Jahr drin stehn.
Vielleicht gibt es für mich doch eine VBA LÖsung.
Gruß
Jockel

Anzeige
AW: Differenz Monate per VBA
10.02.2015 10:52:55
Jockel
Hallo Michael,
danke für die Formel. Bei mir funktioniert es aber tatsächlich nicht, wenn ich mit einer Formel Werte erzeuge und diese im Diagramm anzeigen lassen will, funktioniert nur, wenn ich die Werte fest rein schreibe.
Ich habe in meiner ersten Beschreibung aber noch ein Denkfehler drin:
Da sich die Zeitreihe nicht nur über ein Jahr erstreckt , sondern mehrere , würde die Formel immer im aktuellen und im nachfolgenden Monat diese beiden werte reinschreiben und das alle 12 MOnate wiederholen. Das aktuelle Jahr wird nicht berücksichtigt.
Die zwei Werte sollen aber nur im aktuellen Jahr drin stehn.
Vielleicht gibt es für mich doch eine VBA LÖsung.
Gruß
Jockel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige