Hallo,
im VBA-Code ist ein Fehler enthalten, der sich dann bemerkbar macht, sobald mehr als eine Zelle bearbeitet der gelöscht werden soll.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngC As Range
Dim strC As String
Dim rngtCell As Range
Dim hyp As Hyperlink
With ActiveSheet
Set rngC = Target.Worksheet.Range("C:C")
For Each rngtCell In Target.Cells
If Not Intersect(rngC, rngtCell) Is Nothing Then
If rngtCell.Value <> "" Then
If rngtCell.Hyperlinks.Count = 0 Then
strC = rngtCell.Value
Application.EnableEvents = False
Set hyp = .Hyperlinks.Add(anchor:=rngtCell, Address:="http://www.google.de/#hl=de&output=search&sclient=psy-ab&q=" & WorksheetFunction.EncodeURL(strC))
hyp.TextToDisplay = "Google-Suche"
' rem Quick-Info einblenden mit Info auf eingegebenen Text. z.B. Google-Suche: Haus
' rem Für Aktivieren der Funktioninalität müssen nur die folgenden Zeilen auskommentiert werden.
' rem Ganz wichtig: die kommentierte Else Zeile gehört auch mit dazu!
'With rngtCell.Validation
' .Delete
' .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
' .IgnoreBlank = True
' .InCellDropdown = True
' .InputMessage = "Google-Suche: " & strC
' .ShowInput = True
' .ShowError = True
'End With
Application.EnableEvents = True
End If
'Else
' rngtCell.Validation.Delete
End If
End If
Next
End With
End Sub
Wie man sehen kann, sind hier auch einige komentierte Zeilen vorhanden.
Dahinter steckt folgender Gedanke: Nachdem ein Anwender eine Zelle verändert hat, weiß man nicht mehr den Suchbegriff, der hier mal stand.
In einer Quick-Info kann der ursprüngliche Suchtext wieder sichtbar gemacht werden. Die Quick-Info wird dann angezeigt, wenn die Zelle markiert wird.
Eine Beispiel-Datei kann hier heruntergeladen werden.
LG, BigBen
|