PDA

Vollständige Version anzeigen : UserForm nur öffnen, wenn kein Kommentar


Fred9
17.09.2011, 16:28
Hallo

Beim Doppelklick auf eine Zelle öffnet sich eine UserForm, mit TextBox.
Damit kann ein Kommentar in die Zelle geschrieben werden.
Es soll verhindert werden, dass sich die UserForm öffnet, wenn in der Zelle
bereits ein Kommentar vorhanden ist.

Folgendes funktioniert:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const cRange = "B1:BC20"
If Intersect(Target, ActiveSheet.Range(cRange)) Is Nothing Then Exit Sub
UserForm1.TextBox2 = Target.Cells(1, 1).Offset(0, 0).Value
UserForm1.Show
End Sub

Leider öffnet sich die UserForm auch in Zellen, in denen schon ein Kommentar vorhanden ist.
Wie kann man das verhindern?

Gruß Fred9

josef e
17.09.2011, 16:34
<div style="width:85%; margin-left:5px; margin-right:15px; text-align:justify;">
Hallo Fred,

<div style="background-color:#F5F5F5; border-width:2px; border-style: groove; border-color:#ff9966; padding:4px;"><nobr><span style="font-family:Courier New,Arial; font-size:8pt ;" ><b><span style="color:#00009B"; >Private</span> <span style="color:#00009B"; >Sub</span> Worksheet_BeforeDoubleClick(<span style="color:#00009B"; >ByVal</span> Target <span style="color:#00009B"; >As</span> Range, Cancel <span style="color:#00009B"; >As</span> <span style="color:#00009B"; >Boolean</span>)</b><br />&nbsp;&nbsp;<span style="color:#00009B"; >Const</span> cRange = <span style="color:#800000"; >"B1:BC20"</span><br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color:#00009B"; >If</span> <span style="color:#00009B"; >Not</span> Intersect(Target, Range(cRange)) <span style="color:#00009B"; >Is</span> <span style="color:#00009B"; >Nothing</span> <span style="color:#00009B"; >Then</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Cancel = <span style="color:#00009B"; >True</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#00009B"; >If</span> Target(1, 1).Comment <span style="color:#00009B"; >Is</span> <span style="color:#00009B"; >Nothing</span> <span style="color:#00009B"; >Then</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#00009B"; >With</span> UserForm1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.TextBox2 = Target(1, 1).Value<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Show<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#00009B"; >End</span> <span style="color:#00009B"; >With</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#00009B"; >End</span> <span style="color:#00009B"; >If</span><br />&nbsp;&nbsp;<span style="color:#00009B"; >End</span> <span style="color:#00009B"; >If</span><br />&nbsp;&nbsp;<br /><b><span style="color:#00009B"; >End</span> <span style="color:#00009B"; >Sub</span></b><br /><br /></span></nobr></div>


</div>

<div style="width:100px; text-align:center; color:white; font-style:italic; font-size:0.8em; font-family:Tahoma; background-color:royalblue;margin-left:5px; margin-top:15px; padding:4px; border:3px double darkblue;">&laquo; Gru&szlig; Sepp &raquo;</div>

Hajo_Zi
17.09.2011, 16:35
Halo Fred,

if cells(x,y).Comment is nothing then msgbox "nix da"

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm" onclick="window.open(this.href);return false"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

Beverly
17.09.2011, 16:42
Hi Fred,

versuche es mal nach diesem Prinzip:
Dim comKommentar As Comment
Set comKommentar = Target.Comment
If comKommentar Is Nothing Then
'... hier den Eintrag in die TestBox und die Anzeige des Userforms
End If
Set comKommentar = Nothing

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/" onclick="window.open(this.href);return false"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Fred9
17.09.2011, 16:48
Super! Sepp, Daaaaanke! Das funktioniert tadellos!

Gruß Fred9