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

Häkchen setzen nur unter bestimmten Bedingungen

Häkchen setzen nur unter bestimmten Bedingungen
Josef_T
Guten Abend,
bräuchte mal wieder Hilfe von Euch Experten.
Habe im Upload alles beschrieben.(hoffe ich)
https://www.herber.de/bbs/user/80643.xls
Danke schon mal
Gruß
Josef
frag den Zellinhalt ab ...
19.06.2012 20:50:56
Matthias
Hallo Josef
Teilantwort:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target(1, 1), [C28:C34,E43:E44]) Is Nothing Then
With Target(1, 1)
If Int(Cells(28, "H")) > 1 And Int(Cells(28, "H")) 
.Font.Name = "Wingdings"
.Font.Size = 15
.Value = IIf(.Value = Chr(168), Chr(254), Chr(168))
End If
End With
End If
End Sub

Korrektur: >= 1 And <= 28 muss es heißen ...
19.06.2012 21:07:58
Matthias
Hallo
... oder > 0 And Gruß Matthias
AW: Korrektur: >= 1 And <= 28 muss es heißen ...
19.06.2012 21:52:49
Josef_T
Guten Abend Matthias,
Ersmal Danke für Deine Hilfe.
Die Häkchen, lassen sich nur noch eingeben, wenn in Spalte H etwas drin steht. Funktioniert richtig.
Ist es auch möglich, dass gesetzte Häkchen wieder zu entfernen, wenn ich die Zahl in H lösche?
Dann wäre der obere Block perfekt.
Josef
Anzeige
für beide Blöcke ...
20.06.2012 04:39:39
Matthias
Hallo Josef
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target(1, 1), [H28]) Is Nothing Then
If Target = "" Then Range("C28:C32").Value = Chr(168)
End If
If Not Intersect(Target(1, 1), [F43,F44]) Is Nothing Then
If Target  "" Then
Target.Offset(, -1) = Chr(254)
Else
Target.Offset(, -1) = Chr(168)
End If
End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target(1, 1), [C28:C34,E43:E44]) Is Nothing Then With Target(1, 1) If Int(Cells(28, "H")) >= 1 And Int(Cells(28, "H"))
Gruß Matthias
Anzeige
AW: für beide Blöcke ...
20.06.2012 06:39:33
Josef_T
Guten Morgen Matthias,
genau so, hatte ich mir das vorgestellt.
Herzlichen Dank für Deine Lösung, Perfekt!!
Schönen Tag noch
Josef
AW: für beide Blöcke ...
20.06.2012 19:57:07
schauan
Hallo Josef,
anbei mal meine Vorstellungen. Oben die 4 Haken kannst Du per Doppelklick setzen. Steht eine entsprechende Zahl in H28, kannst Du per Doppelklick Haken setzten und entfernen. Steht keine entsprechende Zahl da, kannst Du per Doppelklick nur Haken entfernen.
Unten werden die Haken gesetzt, wenn in beiden Zellen der Typmname text ist.
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Wenn nicht gemeinsamer Bereich zwischen Ziel und C28:C34 ist nichts dann 
If Not Intersect(Target, Range("C28:C34")) Is Nothing Then
 'Wenn Ganzzahl H28 = H28 und H28 > 0 und H28 < 22 dann 
 If Int(Range("H28").Value) = Range("H28").Value And _
 Range("H28").Value > 0 And _
 Range("H28").Value < 22 Then
 'Zielwert = wenn Zeichen 168 dann Zeichen 254 (Haken) sonst Zeichen 168 
 Target.Value = IIf(Target.Value = Chr(168), Chr(254), Chr(168))
 'oder 
 Else
 'Zielwert = Zeichen 168 
 Target.Value = Chr(168)
 'Ende Wenn Ganzzahl H28 = H28 und H28 > 0 und H28 < 22 dann 
 End If
 'Bearbeitung abbrechen 
 Cancel = True
'Ende Wenn nicht gemeinsamer Bereich zwischen Klick und C28:C34 ist nichts dann 
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn nicht gemeinsamer Bereich zwischen Ziel und F43:F44 ist nichts dann 
If Not Intersect(Target, Range("F43:F44")) Is Nothing Then
 'Wenn Typname F43 Text und Typname F44 Text dann 
 If TypeName(Range("F43").Value) = "String" And TypeName(Range("F44").Value) = "String" Then
 'Checkboxwert = 254 (Haken) 
 Range("E43") = Chr(254)
 Range("E44") = Chr(254)
 'oder 
 Else
 'Checkboxwert = 168 
 Range("E43") = Chr(168)
 Range("E44") = Chr(168)
 'Wenn Typname F43 Text und Typname F44 Text dann 
 End If
End If
'Ende Wenn nicht gemeinsamer Bereich zwischen Ziel und F43:F44 ist nichts dann 
End Sub
[size=8]Code eingefügt mit [url=http://vbahtml.origo.ethz.ch] VBA in HTML 2.3[/url][/size]
Userbild

Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2010

Anzeige
AW: Häkchen setzen nur unter bestimmten Bedingungen
19.06.2012 20:51:33
schauan
Hallo Josef,
warum nimmst Du ein Zeichen als Checkbox?
was in einer Zelle steht, bekommst Du mit TypeName raus - schaue dazu mal in die Hilfe.
Userbild

Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2010

AW: Häkchen setzen nur unter bestimmten Bedingungen
19.06.2012 23:25:09
Josef_T
Guten Abend Andrè,
Danke für den Tip. Ich versuche es morgen mal mit "TypeName".
Bin jetzt echt zu müde.
Danke nochmal und Gute Nacht.
Josef
Anzeige
AW: hatte vergessen auf "Frage noch offen" zu stel
19.06.2012 23:28:57
Josef_T
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige