Text in Zelle die beim anklicken der Zelle verschwindet
#1
Hallo zusammen,
ich suche nach der Möglichkeit in eine Zelle einen Text ("Name") zu schreiben das beim anklicken dann verschwindet. So wie man es von z.B. Kontaktforumularen im Internet kennt. Ist so etwas möglich?
Viele Grüße,
Shaggy1982
Top
#2
Hallo,

mal ungetestet hier reingeschrieben (wenn sich dein Text zum Beispiel in der Zelle A1 befindet)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address(0,0) = "A1" Then Target.Value = ""
End Sub

Nachtrag: Wo Du den Code einfügen mußt, wird dir hier erklärt.
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo,

ohne VBA ginge es mit mit einer 1 Pixel breiten Spalte, in welcher der Text steht und in der Nachbarzelle erscheint, solange da nichts eingegeben wurde.

Gruß Uwe


Angehängte Dateien
.xls   1Pixeltrick.xls (Größe: 15,5 KB / Downloads: 12)
Top
#4
Hallo,

und hier ein Beispiel, die die Zellen A!:A10 abdeckt:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim i As Long
   Dim rngBereich As Range
   Set rngBereich = Range("A1:A10")
   If Not Intersect(Target, rngBereich) Is Nothing Then
      If Target.Text = "Enter Value" Then Target.ClearContents
   End If
   For i = 1 To 10
      If Cells(i, 1).Address <> Target.Address Then
         If Cells(i, 1) = "" Then Cells(i, 1) = "Enter Value"
      End If
   Next i
End Sub

In die Zellen kann Enter Value vorgetragen werden. Ansonsten macht es der Code, wenn sie leer sind.
Gruß Atilla
Top
#5
Hi,

(08.12.2014, 21:30)atilla schrieb: und hier ein Beispiel, die die Zellen A!:A10 abdeckt:

ich wollte da andere Zellen verwenden und habe aus A1:A10 zum Test B2:B11 gemacht.

Leider wird immer noch der Bereich A1:A10 beschrieben.

Ich würde auch gerne verschiedene Zellen verwenden:
z.B. B2, B4, B8, C6, D2, also wild verteilt.

Wie geht denn das?
Top
#6
Hallo Ralf,

das könnte so gehen:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim rngBereich As Range, rngZ As Range
   Set rngBereich = Range("B2, B4, B8, C6, D2")
   If Not Intersect(Target, rngBereich) Is Nothing Then
      If Target.Text = "Enter Value" Then Target.ClearContents
   End If
   For Each rngZ In rngBereich
      If rngZ.Address <> Target.Address Then
         If rngZ = "" Then rngZ = "Enter Value"
      End If
   Next rngZ
End Sub
Gruß Atilla
Top
#7
Hi Atilla,

(09.12.2014, 10:30)atilla schrieb: das könnte so gehen:

ja, so geht's!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste