Hallo,
Problem: Blatt1 Spalte B steht das Datum (alle Wochentage des Jahres). Zu jedem Datum plane ich einen Einsatzort. In Spalte P will ich sehen wo an diesem Datum Messen stattfinden.
Dafür habe ich ein Blatt2 in dem alle relevanten Messetermine stehen (L6:stuck_out_tongue:501). Wobei
-
Spalte L: = Messe Startdatum,
-
Spalte M: = Messeenddatum,
-
Spalte P: = Messeort,
-
Spalten N: + O: sind für mein Vorhaben unwichtige Angaben zur Messe.
Problem 1 ist: falls Datum zwischen Messestart & Messeende liegt, ist der Messeort in Blatt1!P: einzutragen. Es sind aber auch durchaus mehrere sich überschneidende Messetermine sowohl am gleichen Ort als auch in mehreren Orten möglich. Und ich brauche alle zum Datum passenden Messen.
Dazu habe ich hier schon einen Beitrag von Patrick Seeger gefunden den ich mir etwas umgestellt habe (Danke!).
http://www.wer-weiss-was.de/Anfragen/www_de/archiv/2…
Bei mir sieht das jetzt so aus:
Sub Messetermine()
'(Copyright Patrick Seeger)
' bearbeitet aus http://www.wer-weiss-was.de/Anfragen/www\_de/archiv/260593/zeitintervalle-aus-zwei-tabellen-abgleichen.html
Dim iIntZeileMesse, iIntZeileEinsatz, IntMStart, IntMEnde, IntInvDatum, IntMKollision, IntMesseOrt As Integer
Dim Tabellenblatt1, Tabellenblatt2 As String
'Name der Tabellenblätter
Tabellenblatt1 = "Jahr"
Tabellenblatt2 = "Feiertag"
'Entfernt evtl. vorhandene Farbformatierungen!
Worksheets(Tabellenblatt1).Select
Range("P4:stuck\_out\_tongue:330").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Worksheets(Tabellenblatt2).Select
Range("L6:stuck\_out\_tongue:700").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' Feiertag: |StartMesse: Spalte 12 | EndeMesse Spalte 13 |
' Jahr: |Einsatztag: Spalte 2 |
'Spalten für die Daten
IntMKollision = 16 'Spalte in der das kollidierende Projekt ausgeworfen wird
IntMStart = 12 'Spalte Messe StartDatum
IntMEnde = 13 'Spalte Messe EndDatum
IntMesseOrt = 16 'Spalte MesseStadt
IntInvDatum = 2 'Spalte Einsatztag
For iIntZeileEinsatz = 4 To 330
For iIntZeileMesse = 6 To 700
'Fall Messe zum Einsatztag: Einsatztag \> MesseStart UND Einsatztag = Worksheets(Tabellenblatt2).Cells(iIntZeileMesse, IntMStart) And Worksheets(Tabellenblatt1).Cells(iIntZeileEinsatz, IntInvDatum)
Das klappt jetzt zumindest soweit das ich in Blatt1!P: einen Messeort eingetragen bekomme. Ich brauche aber auch die anderen Orte zum gleichen Tag.
Entweder alles in einer Zelle (z.B. P:10 Berlin,Leipzig,Wien...) oder auch gerne auf die Folgespalten aufgeteilt. (P:10 - Berlin, Q:10 Leipzig, R:10 Wien...)
Ich hoffe mein Problem steht nicht außerhalb von Excel denn Access habe ich nicht zur Verfügung.
Wenn es eine Lösung für Excel2003 gibt wäre mir das am liebsten aber ich kann auch auf Excel 2007 zugreifen wo ich das bisher erstellt habe.
Danke schon mal und beste Grüsse