Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
740to744
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
740to744
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

position checkbox

position checkbox
07.03.2006 13:52:44
Thomas
Hallo Leute
Ich hab ein Problem mit der Position von Checkboxen
Über ein Makro lass ich mir Dateipfade(excel-Files) in Zellen schreiben(funzt)
Genau vor der Zellen (mit dem Dateipfad) soll auf gleicher höhe eine Checkbox generiert werden die aktiv ist, also häckchen drin.
Über einen Button sollen dann alle Dateien bei der die Checkbox aktiviert ist geöffnet werden (Dateipfad aus Zelle)
Kann mir jemand helfen?
gruß
Thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: position checkbox
07.03.2006 15:50:39
Ralf
Hallo Thomas,
ich habe das so gelöst: Im Tabellenblatt für alle Zellen nur eine einzige Combobox verwendet, die (je nach ausgewählter Zelle) auf der Zellposition und mit angepasstem Inhalt angezeigt wird. Du musst hier die Combobox [cbAuswahl] eben durch eine Checkbox ersetzen. Platziere also eine Checkbox auf dem Tabellenblatt, vergib ihr einen Namen und setzte die Visible-Eigenschaft auf true. Dann passe Dir folgenden Code an Deine Bedürfnisse an.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Zeile#, Spalte%, FreieKFZ()
Zeile = (Target.Row + 5) Mod 11 'Ab Zeile 6 beginnende, alle 11 Zeilen
Spalte = (Target.Column - 1) Mod 2 'Alle 2 Spalten ab Spalte A beginnend
If Target.Row > 4 And Target.Column <= 10 Then
Select Case Zeile
Case 0, 3, 4, 5, 6, 7
Select Case Spalte
Case 0
If Zeile = 0 Then
cbAuswahl.Top = Target.Top
cbAuswahl.Left = Target.Left
Columns(Target.Column).ColumnWidth = cbAuswahl.Width / 6
'                    cbAuswahl.Height = 25
Rows(Target.Row & ":" & Target.Row).RowHeight = 25
ElseIf Zeile = 3 Or Zeile = 4 Or Zeile = 5 Then
cbAuswahl.Top = Target.Top
cbAuswahl.Left = Target.Left
Columns(Target.Column).ColumnWidth = cbAuswahl.Width / 6
cbAuswahl.Value = "Bitte wählen Sie einen Anhänger aus"
ElseIf Zeile = 6 Then
cbAuswahl.Top = Target.Top
cbAuswahl.Left = Target.Left
Columns(Target.Column).ColumnWidth = cbAuswahl.Width / 6
cbAuswahl.Value = "Bitte wählen Sie einen Fahrer aus"
ElseIf Zeile = 7 Then
cbAuswahl.Top = Target.Top
cbAuswahl.Left = Target.Left
Columns(Target.Column).ColumnWidth = cbAuswahl.Width / 6
'                    Rows(Target.Row).RowHeight = cbAuswahl.Height - 3.5
cbAuswahl.Value = "Bitte wählen Sie einen Beifahrer aus"
iArt = 4
Boxeninhalt "Q", "R"
End If
Case Else
cbAuswahl.Visible = False
End Select
Case Else
cbAuswahl.Visible = False
End Select
End If
End Sub

Anmerkung: Hab ein paar Zeilen aus dem Ursprungscode herausgelöscht. Evtl. ein paar zuviel, aber nach grober Durchsicht sollte das funktionieren.
Ciao, Ralf
Anzeige
AW: position checkbox
08.03.2006 00:36:35
Thomas
Hey Ralf
Danke für den Code. Ich blicks zwar noch nicht hundertprozentig, aber ich glaub ich weiß jetzt wie ich da rangehen kann. Werd mich morgen genauer damit beschäftigen.
Vielen Dank für deine schnelle Antwort.
gruß
Thomas
AW: position checkbox
08.03.2006 08:08:40
Ralf
Hi Thomas,
kurze Erläuterung:
In meinem Code darf nur in bestimmten Zellen die Box erscheinen.
In dieser Zeile:
Zeile = (Target.Row + 5) Mod 11 'Ab Zeile 6 beginnende, alle 11 Zeilen
ermittle ich den ganzzahligen Rest der aktuell aktiven Zelle. Das ist für die untenstehende Select Case Anweisung nötig. In meinem Fall soll die Box also nur erscheinen, wenn der Rest 0, 3, 4, 5, 6 oder 7 beträgt. In allen anderen Zeilen nicht.
Die Zeile:
Spalte = (Target.Column - 1) Mod 2 'Jede2. Spalte ab Spalte A beginnend
macht das gleiche, jedoch nur mit den Spalten.
Hier:
If Target.Row &gt 4 And Target.Column &lt= 10 Then
wird der gesamte Bereich noch einmal eingegrenzt. Also nur von Zeile 5 an aufwärts und von Spalte A bis Spalte J.
Ab hier wird jetzt geprüft, ab die aktive Zelle den geforderten Kriterien entspricht:
Select Case Zeile
Case 0, 3, 4, 5, 6, 7 'Ist der ganzzahlage Rest der Zeile = 0, 3, ...
Select Case Spalte
Case 0 'Ist der ganzzahlige Rest der Spalte = 0 'Der Rest der Spalte = 0
If Zeile = 0 Then 'und Zeile = 0
'dann soll die Box an den Top und Left Eigenschaften der Zelle angeglichen werden
cbAuswahl.Top = Target.Top
cbAuswahl.Left = Target.Left
Möglicherweise kannst Du Dir das mit Mod und Select Case ersparen (ich kenne Deine genauen Anforderungen nicht). Wenn Du einen festen Bereich hast, dann kannst Du Dir die 'Mod-Zeilen' ersparen. Dann reicht es zu prüfen, ob der Bereich eingehalten wurde. Bsp.: Zeile 1 - 10 und nur in Spalte C:
If Target.Row &lt= 10 And Target.Column = 3 then
Box.Top = Target.top
usw.
end if
Übrigens, ich hatte versehentlich geschrieben, dass Du die Visible Eigenschaft auf True setzen sollst. Das ist natürlich Falsch. Fals wäre richtig...:-)
Ciao, Ralf
Anzeige
AW: position checkbox
08.03.2006 10:54:27
Thomas
hi ralf
ah jetzt hab ich es gerafft ! Danke für die Erläuterung
Werd mich sofort an die Arbeit machen....
Vielen Dank. Das Forum hier ist echt mal der Hammer.
gruß
Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige