Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Position Steuerfläche

Forumthread: Position Steuerfläche

Position Steuerfläche
14.02.2009 12:04:00
Steffen
Guten Morgen,
im angefügten Beispiel habe ich ein Zeitband mit Grafischen Balken.Dieser Balken soll mir ein Ereignis darstellen.Mit den beiden Drehfeldern wird das Startdatum bzw die Dauer des Ereignisses bestimmt.
Nun möchte ich das Start und Enddatum vom "Testbalken" bestimmt werden und in die entsprechenden Felder zurückgegeben wird.
Eine Lösung über Einfärbung der einzelner zellen od per Diagramm kommt für mich nicht in Frage.
Über Lösungsvorschläge währe ich euch dankbar!
Gruß
Steffen
https://www.herber.de/bbs/user/59448.xls
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Position Steuerfläche
14.02.2009 12:58:00
Christian
Hallo Steffen,
das geht wahrscheinlich auch eleganter... hier ein Ansatz ohne Fehlerabfangung u.ä.
Gruß
Christian

Option Explicit
Private Sub SpinButton1_Change()
Label1.Left = Sheets("Tabelle1").Cells(1, 1).Value
Call GetDate
End Sub
Private Sub SpinButton2_Change()
Label1.Width = Sheets("Tabelle1").Cells(1, 2).Value
Call GetDate
End Sub
Private Sub GetDate()
Dim i%, j%
With Sheets("Tabelle1")
For i = 1 To .Columns.Count
If .Columns(i).Left + .Columns(i).Width >= Label1.Left Then
.Cells(3, 3) = CDate(.Cells(7, i).Value)
Exit For
End If
Next
For j = i To .Columns.Count
If .Columns(j).Left + .Columns(j).Width >= Label1.Left + Label1.Width Then
.Cells(4, 3) = CDate(.Cells(7, j).Value)
Exit For
End If
Next
End With
End Sub


Anzeige
AW: eleganter
14.02.2009 13:41:00
Daniel
yup, es geht eleganter, wenn man die Eigenschaften ".TopLeftCell" und ".BottomRightCell" verwendet:

Private Sub SpinButton1_Change()
Label1.Left = Cells(1, 1).Value
Call DatumEintragen
End Sub
Private Sub SpinButton2_Change()
Label1.Width = Cells(1, 2).Value
Call DatumEintragen
End Sub
Sub DatumEintragen()
Range("C3").Value = Cells(7, Label1.TopLeftCell.Column).Value
Range("C4").Value = Cells(7, Label1.BottomRightCell.Column).Value
End Sub


Gruß, Daniel

Anzeige
Super DANKE! ot
14.02.2009 15:00:00
Steffen
.
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18