Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speiche. Feld von Tab.1 auf ein bestim. Feld T

Speiche. Feld von Tab.1 auf ein bestim. Feld T
15.05.2008 18:00:56
Tab.1
Hallo,
ich habe folgendes Problem.
Auf Excel habe ich eine Arbeitsmappe erstellt die drei Arbeitsblätter beinhaltet.
Das erste Arbeitsblatt heißt "Navi", das zweite Arbeitsblatt "Termin", und das dritte Arbeitsblatt "Berufe".
Auf "Navi" habe ich einen Kalender erstellt. Dieser Kalender kann beliebig per Kombinationsfeld (Jahr, Monat, Tag (Kombinationsfelder greifen auf "Berufe" zurück)) umgestellt werden. Nun habe ich 1 Spalte mit 24 Zeilen (00:00 bis 23:00 Uhr) auf "Navi"angelegt, die mit dem Befehl "N7=INDEX(Termin!B2:B1000;AD2), N9=INDEX(Termin!C2:C1000;AD2) bis N53=INDEX(Termin!Y2:Y1000;AD2)" auf die Termine des Arbeitsblattes "Termin" zurückgreifen (zum Verständnis AD1=DATUM(B1;C1;D1),AD2=AD1-39568).
Das Arbeitsblatt "Termin" ist in wie folgt aufgeteilt, A1= , B1=00:00, C1=B1+"1:00", D1=C1+"1:00", usw. bis Y1==X1+"1:00" (Da erscheint dann "23:00"). Nach unten in wie folgt aufgeteilt, A2=01.05.2008, A3=A2+1, A4=A3+1, usw bis A1000=A999+1 (Da erscheint dann "24.1.2011").
Auf dem Arbeitsblatt "Navi" habe ich den Wunsch, dass die Uhrzeit auf O58 per Kombinationfeld (Verbindung zu "Berufe") ausgewählt wird (klappt!), das Datum auf Q58 per Kombinationsfeld (Verbindung zu "Berufe") ausgewählt wird (klappt!), Notizen auf T58 per Tastatur eingetragen werden (klappt auch!). Auf K58 habe ich eine Befehlsschaltfläche aufgemacht mit dem Namen Termin. Was für ein Makro(Code) muss ich in dieser Befehlsschaltfläche schreiben, damit beim drücken der Befehlsschaltfläche "Termin", automatisch die Notizen (T58) auf dem Arbeitsblatt "Termin" in die jeweilige Datum(A-Spalte)/Zeit(1-Zeile) gespeichert werden, und somit das Arbeitsblatt "Navi" auch die jeweiligen Termine anzeigt.
Ich habe es versucht mein Problem so gut wie möglich zu erläutern. Ob es für euch verständlich ist, weiß ich leider nicht, wenn ja, dann freue ich mich über jede Hilfe. Wenn nein, dann gebe ich weitere Informationen gerne weiter.
Ich habe die Excel-Datei nun hochgeldaden auf:
https://www.herber.de/bbs/user/52379.xls
Gruß
Arturo

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speiche. Feld von Tab.1 auf ein bestim. Feld T
16.05.2008 01:14:18
Tab.1
Hallo Arturo,
mal so als Ansatz. Nachdem ich immer einen Horror krieg wenn ich Tabellen mit derar vielen verbundenen Zellen sehe.
Warum hast du eigentlich in de rCombibox für die Uhrzeit im Blatt Navi 30-Minuten-Schritte, während im Blatt Termine Stundenschritte sind?
Gruß
Franz

Private Sub Termin_Click()
Dim strNotiz As String, datDatum As Date, datZeit As Date
Dim wksTermin As Worksheet, lngZeile As Long, lngSpalte As Long
strNotiz = Me.Range("S58").Value
With Application.WorksheetFunction
datDatum = .Index(Worksheets("Berufe").Range("I2:I1000"), _
Me.Shapes("Listenfeld 83").ControlFormat.Value)
datZeit = .Index(Worksheets("Berufe").Range("H2:H49"), _
Me.Shapes("Listenfeld 82").ControlFormat.Value)
End With
Set wksTermin = Sheets("Termin")
With wksTermin
For lngZeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile, 1).Value = datDatum Then Exit For
Next
For lngSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column To 2 Step -1
'Die Korrektur ist wg. der Rechengenauigkeit von Excel erforderlich
If datZeit >= (CDate(.Cells(1, lngSpalte).Value) - 1 / 43000) Then Exit For
Next
.Cells(lngZeile, lngSpalte).Value = strNotiz
End With
End Sub


Anzeige
AW: Speiche. Feld von Tab.1 auf ein bestim. Feld T
16.05.2008 10:22:00
Tab.1
Hallo Franz,
danke für deinen Lösungsweg. Echt super!!!
Was für Änderungen, sollte man am Code vornehmen, um es im 30-Minuten-Schritten hin zu kriegen?
Merci Franz

AW: Speiche. Feld von Tab.1 auf ein bestim. Feld T
16.05.2008 13:37:00
Tab.1
Hallo Arturo,
eigentlich muss du nur die folgende Zeile anpassen in der der Bereich mit den Urzeiten im Blatt "Berufe" steht. H49 wird dann H25 oder so ähnlich.
datZeit = .Index(Worksheets("Berufe").Range("H2:H49"), _
In dem Bereichen stehen dann nur die Stunden in Stundenschritten. und so werden sie dann ja auch in dem Listenfeld angezeigt.
Kleiner Tipp noch zu Listenfeldern/Comboboxen, bei der Anwendung im Tabellenblatt ist es oft günstiger die Steuerelemente aus der Symbolleiste "Steuerelemente-Toolbox" zu verwenden, statt denen aus der Symbolleiste "Formular". Diese haben den Vorteil, das in die verknüpfte Zelle der gewählte Wert eingetragen wird und nicht der Index-Wert.
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige