Excel 2010: Zelle wie ein Formular erstellen

links wie es erst aussehen soll und rechts nach der eingabe! - (Computer, Excel, Office)

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mit Toms Beschreibung bekommst Du zwar die Zellfarbe hin, aber nicht den Eintrag "Ort".
DAS bekommst Du imho nur über einen VBA-Code hin.
Z.B. schreibt Dir dieser Code immer "Ort" in die Zelle A1, wenn sie leer wird:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
  On Error GoTo ErrorHandler
  Application.EnableEvents = False
  If Target.Value = "" Then Target.Value = "Ort"
  ErrorHandler:
  Application.EnableEvents = True  
End If    
End Sub       

Der Code gehört ins Modul des Tabellenblattes (Rechtsklick auf den Tabellenreiter (rechts unten, da wo z.B. Tabelle1 steht) und dann "Code anzeigen...")

Der graue Hintergrund ließe sich auch noch hier einbauen, aber ich würde eher empfehlen DEN über eine Bedingte Formatierung mit der Bedingung:
Nur Zellen formatieren mit Zellwert gleich: Ort
zu erreichen.
Hilft Dir das?

12

Ja. das hört sich genau so an, wie ich das will.

Aber ich hab keine Ahnung, wie man einen VBA-Code macht?!

0
53
@JaniGirl

Einfach, wie ich geschrieben habe:
Rechtsklick auf den Tabellenreiter (rechts unten, da wo z.B. Tabelle1 steht) und dann "Code anzeigen..."
Und dann meinen Code in das große, leere Fenster des VBA-Editors kopieren, der sich dann öffnet.
Den Editor kannst Du danach wieder schließen.
Die Datei musst Du danach dann aber als .xlsm speichern, sonst geht das Makro (der VBA-Code) wieder verloren.
Und Makros müssen in den Sicherheitseinstellungen zugelassen werden.
(Öffne die Datei nach dem Speichern, dann merkst Du, ob sie zugelassen sind, evtl. musst Du die Frage bejahen, ob Makros aktiviert werden sollen).

1
12
@Oubyi

"Code anzeigen" steht bei mir auch, ist aber hellgrau! Ich kann da nicht draufklicken!

0
53
@JaniGirl

Hast Du evtl. die Office-Starter-Version?
Dann kannst Du das wahrscheinlich vergessen.

0
12
@JaniGirl

ich hab gerade bei Optionen geguckt. Da steht "inaktives Add-in" Analyse-Funktionen VBA.

0
53
@JaniGirl

DAMIT kann das eigentlich nichts zu tun haben.
Welche Office-Version hast Du?

1
12
@Oubyi

Für Studenten, diese vergünstigte Version. Aber ich kann das morgen auf der Arbeit mal probieren. Da haben wir das große Paket, wo noch Outlook dabei ist!

0
12
@Oubyi

Kann ich mir dann dieses Dokument nach Hause schicken und hier aber ausfüllen?

0
53
@JaniGirl

Bei der Studenten-Version müssen Makros auf jeden Fall möglich sein, ich kann daher nicht nachvollziehen, wieso bei Dir "Code anzeigen..." inaktiv ist.
Eine andere Möglichkeit in das Modul des Tabellenblattes zu kommen ist:
Drücke ALT & F11
dann öffnet sich der VBA-Editor (hoffe ich).
DANN musst Du im Projekt-Explorer links oben aber unbedingt erst einen Doppelklick auf die Tabelle machen, in der der Code laufen soll, sonst erstellst Du ein Allgemeines Modul und da läuft dieser Ereignis-Code nicht.

1
12
@Oubyi

Ne, der öffnet sich leider nicht :( Stattdessen kommt ne Fehlermeldung! Vielleicht sollte ich das mal neu installieren. Möglicherweise hab ich damals irgendwo ein Häckchen weggelassen und das war ausgerechnet für den VBA-Editor...

0
12
@JaniGirl

hat auf der Arbeit geklappt. Ist genau so, wie ich es haben will! Danke Oubyi!

0
12
@JaniGirl

Jetzt noch ne Frage: Kann ich weitere solcher Formatierungen einfügen? Ich hab versucht den Code unter den ersten erneut zu kopieren und das Wort sowie die Zelle zu ändern (also z.B. statt A1 -> B2 reinschreiben). Allerdings kam dann eine Fehlermeldung, dass es so nicht ausführbar ist. Wie mach ich das?

0
40
@JaniGirl

weitere Formatierungen müssen in dasselbe Makro
Sub Worksheet_Change(...) denn davon darf es pro Blatt nur eines geben, also zB so:

      Private Sub Worksheet_Change(ByVal Target As Range)  
      On Error GoTo ErrorHandler  
      Application.EnableEvents = False  
        If Not Intersect(Target, Range("A1")) Is Nothing Then:  If Target.Value = "" Then   Target.Value = "Ort"  
        If Not Intersect(Target, Range("C1")) Is Nothing Then: If Target.Value = "" Then   Target.Value = "Vorname": Target.interior.color = RGB(224, 224, 224)   
'weitere (einzeilige ifs), obiges RGB(...) ist hellgrauer Hintergrund  
    ErrorHandler:
      Application.EnableEvents = True  
End Sub   

Also immer neue Zellen bzw Bereiche [ Syntax: Range("E5:F7") ] mit anderen Eigenschaften versehen.

@ Oubyi: ich hoffe, dass ich hier keine Fehler gemacht hab (insbes. mit den Umgruppierungen und einzeiligen if-thens, ich konnts heut nicht mehr ausprobieren, aber wollte das nicht offen stehen lassen!

1
53
@Iamiam

@lamiam:
Scheint nicht so richtig zu klappen, es werden ALLE Zellen angesprochen, ich denke wg. des gestaffelten If...is nothing..
Die Formatierung hatte ich extra nicht in den Code einbezogen, weil die ja auch wieder rückgängig gemacht werden muss, und sowieso per Bedingter Formatierung imho einfacher einzustellen ist, zumal für Anfänger.

@JaniGirl:
Ich zeig Dir mal, wie ich das mit mehreren Feldern lösen würde.
Wie lamiam schon erklärt hat, muss das alles in EINE Ereignisprozedur.
Sähe dann so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler

If Not Intersect(Target, Range("A1")) Is Nothing Then
  Application.EnableEvents = False
  If Target.Value = "" Then Target.Value = "Ort"
End If

If Not Intersect(Target, Range("B1")) Is Nothing Then
  Application.EnableEvents = False
  If Target.Value = "" Then Target.Value = "Straße"
End If

If Not Intersect(Target, Range("C1")) Is Nothing Then
  Application.EnableEvents = False
  If Target.Value = "" Then Target.Value = "Hausnummer"
End If

ErrorHandler:
  Application.EnableEvents = True
End Sub

Das lässt sich sicher auch eleganter lösen, aber ich denke für Dich ist es so am einfachsten anzupassen.
Erkennst Du die drei vierzeiligen Blöcke in der Mitte.
Die unterscheiden sich nur durch ("A1")("B1")("C") und "Ort", "Straße", "Hausnummer".
Wenn Du noch mehr Einträge brauchst, einfach so eine Block kopiere, hinter dem letzten Block einfügen (oder irgendwo dazwischen wo ein Leerraum ist, Reihenfolge ist egal), und das Feld und die gewünschte Bezeichnung ändern.
Kommst Du klar?

1
40
@Oubyi

Völlig richtig, mein Code war weder gut durchdacht noch sorgfältig ausgeführt.
auch mit der bedingten Formatierung hast Du völlig recht. :-(
Das DH für Deine Vorlage ist leider nur einmal zu vergeben.

ich meine aber, dass man die ggf vielen event-Zeilen auf 2 reduzieren kann, wie auch, dass die einzeilige if-then-Variante das ganze bei vielen angesprochenen Zellen wesentlich übersichtlicher macht. Deshalb hier nochmals meine korrigierte Variante (jetzt getestet) :

Sub Worksheet_Change(ByVal Target As Range)  
On Error GoTo ErrorHandler  
   Application.EnableEvents = False  
        If Not Intersect(Target, Range("A1")) Is Nothing Then If Range("A1").Value = "" Then Range("A1").Value = "Ort"  
        If Not Intersect(Target, Range("C1")) Is Nothing Then If Range("C1").Value = "" Then Range("C1").Value = "Vorname"  
'ggf weitere (einzeilige) if-Zeilen einsetzen  
ErrorHandler:  
   Application.EnableEvents = True  
End Sub    
1
12
@Oubyi

ich hab das eingefügt aber bei diesem code wurde nichts in der tabelle angezeigt?!

0

Simulation ohne Makro, aber mit (sehr schmaler) Zusatzspalte:
füge vor der Zelle eine Spalte ein.
Schreibe dahinein Ort (oder auch ein paar Leerzeichen davor) und formatiere die Schrift grau.
Dann machst Du die Zelle (wenn Du die Maus sehr genau führen kannst, mit der Maus, ansonsten über das Kontextmenü des Spaltenkopfs: Spaltenbreite (bei 100%Zoom ist ein Pixel bei mir 0,06, dürfte aber Bildschirm(auflösungs)abhängig sein.
Man kann so praktisch nicht versehentlich draufklicken.
Allerdings ändern sich die Bezüge:
wenn die Auswerung durch während obiger Spalten-Einfügezeit geschlossene Dateien erfdolgt, muss man alle Bezüge manuell nachstellen. Also:
Bevor Du sowas anfängst, alle darauf Bezug nehmenden Dateien öffnen!

40

Du kannst alle Dateien, insbesondere auch die darauf Bezug-nehmenden, auf einem USB-Stick transportieren (sofern Dein Arbeitgeber da keine Sperre eingebaut hat) und daheim auf Deinen Computer "schieben".
Vorzugsweise schon bei der Original-Änderung im selben Verzeichnis, dann gibts überhaupt keine Schwierigkeiten.
Ansonsten könnte es passieren, dass Du über Suchen&Ersetzen (Strg+h) die alte Adresse durch die neue in allen Blättern und Dateien ersetzen musst, das geht aber (nur den Teil vor der Blatt/Spalten/Zeilen--Adresse, sonst müsstest Du es für jede QuellZelle einzeln machen.
kannst Du nicht auf einen USB-Stick kopieren, geht es auch, die Dateien an ein Mail anzuhängen. Frag da aber vorsichtshalber Deinen Arbeit"geber", denn das wird möglicherweise dokumentiert, nicht, dass Du trotz bester Absichten in Teufels Küche kommst!

Stell zum Suchen&Ersetzen ggf eine neue Frage.

1

Das geht mit dem Befehl "Bedingte Formatierung". Ich hab noch Excel 2007, aber ich glaube Excel 2010 ist nicht viel anders.

EXCELSTARTBEDINGTE FORMATIERUNGNEUE REGEL auswählen ► es öffnet sich ein Fenster, dort auswählen: NUR ZELLEN FORMATIEREN, DIE ENTHALTEN ► unter der Bezeichnung, Nur Zellen formatieren mit im ersten Feld (wo Zellwert steht) auf das kleine Dreieck klicken und Leerzeichen auswählen ► anschließend auf FORMATIEREN klicken ► im nächsten Fenster wählst du die Farbe aus, welche in der Zelle angezeigt werden soll (in deinem Fall Hellgrau) und bestätigst mit OK.

Das wars... Solange nichts in der Zelle steht, wird die Farbe angezeigt, erst wenn Text eingetragen wird, verschwindet die Farbe wieder.

12

Ja, ich habs probiert, das klappt!

Aber ich wollte eigentlich, dass in der Zelle dann ein bestimmter Text steht (dieser beispielsweise in grau) und der nur angezeigt wird, wenn in der Zelle nichts eingegeben wird.

Wie in dem Bild. Also das zunächst in grau "Ort" in der Zelle steht - dann gibt man z.B. "Hamburg" ein und die Bezeichnung Ort entfällt und es steht da ganz normal in schwarz Hamburg. Wenn ich dann Hamburg lösche, dann steht da wieder Ort.

So dass ich weiß, was ich in dieses Kästchen eingeben muss, wenn nichts drinsteht.

0
53
@JaniGirl

Siehe meine Antwort.
(Hat sich mit Deinem Kommentar "überschnitten")

0
34
@JaniGirl

Sorry, ich hatte die Frage falsch verstanden, ich dachte du wolltest die Zelle nur bei "bedingten Ereignis" hellgrau dargestellt haben.

0

Kann excel muster in zahlen oder wörtern erkennen?

Gibt es eine möglichkeit das excel muster wie "HALLO" oder "12338" erkennt und sie so aus einer reihe zahlen denen zuordnet die auch aus 4 verschiedenen ziffern bestehen und die 3. und die 4. gleich sind?

...zur Frage

Kann bei EXCEL bestehende Zellen nicht formatieren, da die Funktion nur hellgrau ist. Warum?

Hallo Leute,

habe eine Excel Vorlage. Ich möchte in diese etwas eintragen. Es kommt aber nur Unsinn heraus, weil wahrscheinlich irgendeine Formel hinterlegt ist. Daher möchte ich diese Zelle Formatieren nach meinen Wünschen. Klicke ich die Zelle rechts an, öffnet sich ein Fenster: Zelle formatieren erscheint aber nur hellgrau und nicht schwarz. Was kann ich tun? Oder was mache ich falsch?

Vielen Dank

...zur Frage

Excel: Wenn Text in Zelle, dann ganze Zeile farbig markieren?

Guten Morgen alle zusammen,

ich muss auf der Arbeit eine Excel-Tabelle erstellen. Es handelt sich um Excel 2010 auf für Windows.

Die Tabelle wird ca. 500 Zeilen groß sein und enthält eine Spalte mit der Überschrift "Auslagerung" (Spalte F). Mein Ziel ist es, dass die gesamt Zeile rot markiert wird, wenn in den Zelle unter Auslagerung ein Datum eingetragen wurde.

Ich glaube, dass ich hierfür mit "bedingten Formatierungen" arbeiten muss, habe aber leider keine Ahnung was ich genau machen muss, da wir so etwas noch nicht in der berufsschule hatten.

Vielleicht kann mir ja jemand verraten, was ich zu machen habe und wie die Formel o. Ä. aussehen muss.

Vielen Dank im Voraus für eure Antworten.

MfG

...zur Frage

Checkliste in EXCEL erstellen?!

Hey,

ich möchte gerne mit EXCEL (2010) ne Checkliste zum ankreuzen erstellen.. ich hab auch schon ein bisschen gegoogelet und gefunden, dass man die Formular-Systemleiste einblenden soll... aber wo zur hölle find ich die?

Überall steht: Menü --> Ansicht ---> Symbolleisten ---> Formular

aber unter "Ansicht" hab ich nichts was "Symbolleisten" heisst... Kann mir wer helfen?!

Lg Time

...zur Frage

Excel 2010: Silbentrennung

Ist bei Excel 2010 eine Silbentrennung möglich? Also wenn ein Satz in einer Zelle durch Zeilenumbruch "passend gemacht wird", dass die Wörter an einer sinnvollen Stelle getrennt werden?

Bei Word geht das, aber ich find bei Excel nichts!

...zur Frage

Excel - Kann nicht in eine Zelle "reinklicken"

Hallo liebe Community,

folgendes Problem: Habe Excel 2010 und seit Kurzem, wenn ich auf eine Zelle Doppelklicke, kann ich nicht innerhalb der Zelle reingehen. Normalerweise würde ich bei einem doppelklick auf eine zelle einen Strich sehen und schreiben können sowie meine Position im Text einer zelle direkt ändern können.

Jetzt ist es allerdings so, dass ich die Zelle auswählen kann, aber Änderungen nur oben in der Leiste vornehmen kann (dort wo davor fx steht).

Weiß jemand Rat?

...zur Frage

Was möchtest Du wissen?