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

Datum Formatieren mit Ausgabe

Datum Formatieren mit Ausgabe
20.10.2014 21:25:13
Jens
Hallo zusammen,
ich bin VBA-Neuling und bräuchte eure Hilfe. Ich möchte gern in eine Hilfsspalte ein x Eintragen wenn in Gate 1 oder Gate 2 der Monat und das Jahr mit dem vorgegeben Datum rechts übereinstimmt. wenn Gate 1 und Gate 2 beide zutreffen dann auch ein x in die Hilfsspalte. Ich habe hier nur ein beispiel hochgeladen.
Das Beispiel findet ihr unter dem folgenden Link.
https://www.herber.de/bbs/user/93254.xlsx
Danke!
Gruß Jens

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Und wo soll da jetzt ein x hin?
20.10.2014 21:29:41
{Boris}
Hi Jens,
sag doch mal, wie Dein Wunschergebnis aussieht. Und wann genau soll der Eintrag erfolgen? Mit Eingabe des Datums in M4? Oder per Button? Oder..?
VG, Boris

AW: Und wo soll da jetzt ein x hin?
20.10.2014 21:41:31
Jens
Hallo Boris,
das x soll jeweils in die Hilfsspalte der beiden Gates. Dies soll erfolgen wenn das Original oder Plan Datum übereinstimmt oder beide übereinstimmen. dabei soll nur der Monat und das Jahr berücksichtigt werden als bedingung. Der Eintrag soll über ein Button erfolgen.
Danke!
Gruß Jens

Ist es so schwer...
20.10.2014 21:48:03
{Boris}
Hi Jens,
..mal konkret zu sagen, wie in Deinem Beispiel das Wunschergebnis aussieht?
Im M4 steht der 16.02.2014 - dieses Datum kommt weder bei Gate 1 noch bei Gate 2 vor. Ich hab keinen blassen Schimmer, wo da jetzt genau ein x (oder auch nicht) eingetragen werden soll.
VG, Boris

Anzeige
AW: Ist es so schwer...
20.10.2014 22:03:46
Jens
Hallo Boris,
da hast du Recht das dass Datum nirgendwo vorkommt! Ist in Spalte E oder F Monat Februar und das Jahr 2014(im Beispiel- am besten bezug M4) vorhanden sein egal welcher Tag soll in G und K jeweils dann ein x eingefügt werden. das Gleiche für I und J und Ausgabe in K.
Danke!
Gruß Jens

AW: Ist es so schwer...
20.10.2014 22:14:23
{Boris}
Hi,
ich schlage eine Formellösung vor.
G3:
=LINKS("x";((MONAT(E3)=MONAT($M$4))+(MONAT(F3)=MONAT($M$4))*((JAHR(E3)=JAHR($M$4))+(JAHR(F3) =JAHR($M$4)))))
und in alle "x"-Zellen kopieren.
VG, Boris

AW: Ist es so schwer...
20.10.2014 22:33:03
Jens
Hi Boris,
die Idee hatte ich auch schon! Das Problem ist das das Beispiel sehr vereinfacht ist! Die Tabelle umfasst 200 zeilen und es warden einzelne zellen nach abschluss des Projktes in andere Arbeitsblätter. Wenn ich die die runter ziehe wird die datei groß und nach einer gewissen Zeit ist die Formatierung nicht mehr vorhanden deswegen suche ich eigentlich ein vba code!
Trotzdem Danke!
Gruß Jens

Anzeige
AW: Ist es so schwer...
20.10.2014 22:35:38
{Boris}
Hi Jens,
es ist überhaupt kein Problem, das Ganze in VBA zu transportieren.
Aber wenn Du noch nicht ganz so weit in VBA bist, dann wäre es imho sinnvoll, wenn Du mal Deinen GESAMTEN Tabellenaufbau bekannt gibst. Dann gibt`s auch vielleicht direkt den VBA-Code für die Endlösung :-)
VG, Boris

AW: Ist es so schwer...
20.10.2014 22:57:33
Jens
Hi Boris,
die Orginale Tabelle kann ich aufgrund der größe nicht hochladen. Ich habe die Tabelle aber nachgebaut. Wäre Top wenn das klappen würde!
https://www.herber.de/bbs/user/93255.xlsx
Vielen Dank für deine Hilfe!
Gruß Jens

Anzeige
Ist das definitiv Dein Originalaufbau?
20.10.2014 23:00:24
{Boris}
Hi Jens,
...steht Dein Vergleichsdatum wirklich exakt in AQ5 und gibt es genau 5 Gates?
VG, Boris

AW: Ist das definitiv Dein Originalaufbau?
20.10.2014 23:06:37
Jens
Hallo Boris,
das Datum würde in AP 1 stehen! Ja es sind genau 5 Gates! der rest ist genau dargestellt bis auf die genutzten Zeilen. Das sind um die 100.
VG Jens

AW: Ist es so schwer...
20.10.2014 23:24:03
{Boris}
Hi Jens,
ich geh davon aus, dass alles lückenlos gefüllt ist. Die Zeilenzahl ermittel ich über Spalte F.
Das Suchdatum steht in AP1.
Option Explicit
Sub mach_x()
Dim x As Long, y As Long, lngLastrow As Long
Dim datMatchDate As Date
On Error GoTo Err_Handler
datMatchDate = Range("AP1") 'Hier steht das Vergleichsdatum
lngLastrow = Cells(Rows.Count, 6).End(xlUp).Row ' Letzte Zeile anhand Spalte F ermitteln
For x = 6 To 34 Step 7 'Schleife über die Spalten F, M, T etc...
For y = 4 To lngLastrow 'Schleife von Zeile 4 bis zur letzten Zeile
If Month(Cells(y, x)) = Month(datMatchDate) And Year(Cells(y, x)) = Year(datMatchDate)  _
Or Month(Cells(y, x + 1)) = Month(datMatchDate) And Year(Cells(y, x + 1)) = Year(datMatchDate) Then
Cells(y, x + 5) = "x"
End If
Next y
Next x
Exit Sub
Err_Handler:
MsgBox "Irgendwas hat nicht gepasst...", vbInformation, "Es ist nicht alles erledigt..."
End Sub
VG, Boris

Anzeige
AW: Ist es so schwer...
21.10.2014 08:41:43
Jens
Hallo Boris,
das sieht sehr gut aus! Allerdings wenn es dir möglich ist wäre es toll wenn ich beim erneuten klick auf den button ein update erhalte. Das heißt alle zahlen und das bedingungs Datum erneut prüfen. Das Plandatum oder das Bedingungsdatum kann schonmal geändert werden.
Danke!
Gruß Jens

AW: Ist es so schwer...
21.10.2014 09:10:26
{Boris}
Hi Jens,
Option Explicit
Sub mach_x()
Dim x As Long, y As Long, lngLastrow As Long
Dim datMatchDate As Date
On Error GoTo Err_Handler
datMatchDate = Range("AP1") 'Hier steht das Vergleichsdatum
lngLastrow = Cells(Rows.Count, 6).End(xlUp).Row ' Letzte Zeile anhand Spalte F ermitteln
'alle x entfernen
Range("K4:K10000, R4:R10000, Y4:Y10000, AF4:AF10000, AM4:AM10000").ClearContents
For x = 6 To 34 Step 7 'Schleife über die Spalten F, M, T etc...
For y = 4 To lngLastrow 'Schleife von Zeile 4 bis zur letzten Zeile
If Month(Cells(y, x)) = Month(datMatchDate) And Year(Cells(y, x)) = Year(datMatchDate)  _
_
Or Month(Cells(y, x + 1)) = Month(datMatchDate) And Year(Cells(y, x + 1)) = Year(datMatchDate)  _
Then
Cells(y, x + 5) = "x"
End If
Next y
Next x
Exit Sub
Err_Handler:
MsgBox "Irgendwas hat nicht gepasst...", vbInformation, "Es ist nicht alles erledigt..."
End Sub
VG, Boris

Anzeige
AW: Ist es so schwer...
21.10.2014 10:52:50
Jens
Hey Boris,
es läuft!:) Ein letztes kleines anliegen hätte ich noch! Mir ist gerade aufgefallen das es optimal wäre wenn ich den Makro durch ein CommandButton in einem anderen arbeitsblatt auslösen könnte. der Makro soll im (Main sheet) durchgeführt werden.
Danke für deine Hilfe!
VG Jens

AW: Ist es so schwer...
21.10.2014 11:06:02
{Boris}
Hi Jens,
Option Explicit
Sub mach_x()
Dim x As Long, y As Long, lngLastrow As Long
Dim datMatchDate As Date
Dim wksGate As Worksheet
On Error GoTo Err_Handler
Set wksGate = Worksheets("Tabelle1") 'Wenn das Blatt in Deiner Originaldatei anders heißt: Name  _
ANPASSEN!
datMatchDate = wksGate.Range("AP1") 'Hier steht das Vergleichsdatum
lngLastrow = wksGate.Cells(wksGate.Rows.Count, 6).End(xlUp).Row ' Letzte Zeile anhand Spalte F  _
ermitteln
'alle x entfernen
wksGate.Range("K4:K10000, R4:R10000, Y4:Y10000, AF4:AF10000, AM4:AM10000").ClearContents
For x = 6 To 34 Step 7 'Schleife über die Spalten F, M, T etc...
For y = 4 To lngLastrow 'Schleife von Zeile 4 bis zur letzten Zeile
If Month(wksGate.Cells(y, x)) = Month(datMatchDate) And Year(wksGate.Cells(y, x)) =  _
Year(datMatchDate) Or Month(wksGate.Cells(y, x + 1)) = Month(datMatchDate) And Year(wksGate.Cells(y, x + 1)) = Year(datMatchDate) Then
wksGate.Cells(y, x + 5) = "x"
End If
Next y
Next x
Exit Sub
Err_Handler:
MsgBox "Irgendwas hat nicht gepasst...", vbInformation, "Es ist nicht alles erledigt..."
End Sub
VG, Boris

Anzeige
AW: Ist es so schwer...
21.10.2014 11:35:25
Jens
Hallo Boris,
ich hab jetzt doch ein paar leere Zellen. Leere Zellen sollen einfach übergangen werden. Es soll kein fehler gemeldet werden und bei den restlichen soll der Makro ausgeführt werden.
Danke!
VG Jens

AW: Ist es so schwer...
21.10.2014 14:29:22
{Boris}
Hi Jens,
mach es einfach: Lösche
On Error GoTo Err_Handler
und ersetze durch
On Error Resume Next
Die letzen 3 Zeilen
Exit Sub
Err_Handler:
MsgBox "Irgendwas hat nicht gepasst...", vbInformation, "Es ist nicht alles erledigt..."
dann noch aus dem Code löschen.
VG, Boris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige