Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalte einblenden wenn Zelle mit Zahl gefüllt
#1
Hallo
Ich habe ein Problem das eigentlich einfach für einen Profi zu lösen ist.
Mein Mann hat einenn  Stundenzettel in denen er auf dem Bildschirm das ganze Blatt sieht.
Nun wäre meine Frage wie man die Spalten K bis AJ so lange ausblendet bis diese an der Reihe sind.
Wenn ich nun in J3 eine Zahl eingebe sol die Spalte K sichtbar werden. Wenn ich die Zelle K3 beschreibe soll die Spalte L eingeblendet werden.
Leider habe ich noch nicht genau das gefunden das passt.
Bin über jede Hilfe dankbar.
Schönen Abend noch
Sabrina

.xlsx   test-stunden.xlsx (Größe: 51,57 KB / Downloads: 15)


.xls   test-stunden.xls (Größe: 78,5 KB / Downloads: 6)
Antworten Top
#2
Hallo Sabrina,

so was geht nur mit einem Makro. Kannst/darfst/willst Du denn Makros verwenden?

Dieses Makro kommt dann in das Codemodul vom Tabellenblatt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 3 Then Columns(Target.Column + 1).EntireColumn.Hidden = False
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
EntireColumn ist gar nicht notwendig mit

Code:
Columns(Target.Column + 1).Hidden = False

ist alles gesagt. EntireColumn wäre doppelt gemoppelt :)
Schöne Grüße
Berni
Antworten Top
#4
Brick 
Es geht auch ohne Makro, wenn ich das Problem richtig verstanden habe Confused

Alle Zellen markieren, die ausgeblendet werden sollen => Bedingte Formatierung => Zelle in Zeile 35 abfragen ob diese "0" ist.
Dabei das Dollarzeichen "$" entfernen, dann ist die bedingte Formatierung nur für die Spalte gültig im Beispiel (=I$35=0)
Antworten Top
#5
@galtmann,

der Anwender könnte dadurch von der vorgesehenen Eingabereihenfolge abweichen und z.B. in Z3 was eingeben obwohl in den Spalten davor noch nix steht Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo
Danke für die Hilfe bei meinem Problem. Leider hatten wir gesundheitlich eine Durststrecke so dass vieles in den Hintergrund gerückt ist.
Leider auch mein Excel Problem. Nun habe ich heute durch Zufall wieder mein Problem im Internet gefunden auf das ich noch nicht mal geantwortet habe.
Tut mir leid und danke für Eure Hilfe.
Ich habe mal das Makro angesehen was ich verwenden würde verstehe aber nicht wie es funktionieren soll.

Ich möchte dass beim Start der Excel Tabelle die Spalten G,H,und I sichtbar sind. 
Die Spalten J bis AJ sollen ausgeblendet sein.
Wenn dann in G3 eine Zahl steht soll die Spalte J eingeblendet werden und wenn in H3 eine Zahl steht soll die nächste Spalte eingeblendet werden.

Ich weiß nicht wie mein Makro aussehen muss dass dies funktioniert. An dem Makro kann ich nicht erkennen was man ändern muss dass es geht.

Vielen Dank für weitere Hilfe
Gruß Sabrina


Angehängte Dateien
.xlsx   stundenzettel ausgeblendet.xlsx (Größe: 51,75 KB / Downloads: 4)
Antworten Top
#7
Hallo Sabrina,

Zitat:Ich habe mal das Makro angesehen was ich verwenden würde verstehe aber nicht wie es funktionieren soll.

in der  von Dir gezeigten Datei befindet sich !!! kein Makro !!!
Eine *.xlsx-Datei kann mit Makros nicht umgehen und schmeißt sie darum einfach weg.
Eine Datei mit Makros muß zwingend als *.xlsm oder als *.xlsb gespeichert werden.

Nach dem oben Geschriebenen hoffe ich für Dich, daß Du eine Kopie von Deinem Makro besitzt.


Später:
Also, das Makro, um welches es sich wahrscheinlich handelt, habe ich voraussichtlich gefunden.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 3 Then Columns(Target.Column + 1).EntireColumn.Hidden = False
End Sub

... und André hat Dir auch geschrieben, wo es hingehört.
Dieses Makro kommt dann in das Codemodul vom Tabellenblatt.

Damit ist das Tabellenblatt gemeint, auf dem das Makro wirken soll.
Wenn Du nicht weißt, wie Du dahin kommst, melde Dich noch einmal.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#8
Hallo Peter
Danke für deine Hilfe.
In der beigefügten Datei hatte ich kein Makro eingefügt. Nur zur Verständnis die Spalten ausgeblendet.
Das mit den Dateiendungen habe ich auch noch nicht gewusst .

Das Makro habe ich in den Code vom Tabellenblatt eingefügt. Es passiert halt nichts.
Eigentlich sollte nach der Eingabe von einer Zahl in J3 eine weiter Spalte sichtbar werden.

Wenn ich das Makro ansehe sehe ich nicht wo es die Zeile 3 überprüft und gegebenenfalls die Spalte einblendet.
Könntest Du es bitte an meiner Datei testen ob es geht.
Danke Sabrina
Antworten Top
#9
Hallöchen Sabrina

Ich möchte keine Unruhe bzw. jemanden die Arbeit wegnehmen.
Ich habe es gerade in deiner Arbeitsmappe getestet der Code von Berni funktioniert einwandfrei.
Gruß
Ivan 16
Antworten Top
#10
Hallo Sabrina,

Zitat:Ich habe es gerade in deiner Arbeitsmappe getestet der Code von Berni funktioniert einwandfrei.

... sind damit nun alle Unklarheiten beseitigt?
Wenn nicht, dann melde Dich einfach.  :19:


@Ivan: Hier wird niemandem die Arbeit weggenommen oder so was schreckliches.
Wenn Du was zu sagen hast, dann immer raus damit :19:



Hallo Sabrina,

wenn ich mich recht erinnere, dann wolltest Du wissen, wo der Code auf die Zeile
und die Spalte zugreift.
Das ist hier der Fall:

Zitat:If Target.Row = 3 Then Columns(Target.Column + 1)
                (Zeile)                                     (Spalte)
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


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