Excel Zellengröße ändern mit Blattschutz

Hey Leute, ich darf für die Firma ein kleines Excelprogramm schreiben bei welchem der „Bediener“ mehrere Dropdownmenues und freie Felder ausfüllen muss, um gesammelte Daten später schnell und übersichtlich ausdrucken zu können. Ich hab die Datei mal stark vereinfacht und angehangen. Wichtig ist das die Speicherfunktion von mir per VBA schon deaktiviert wurde, also aufpassen.
Ausserdem müssen die Blätter auch geschützt werden, optimal mit PW um ungewollte Änderungen zu vermeiden.

Der Benutzer darf sich nur in den Freigegebenen Berreichen bewegen, muss jedoch händisch was eingetragen werden, und ist es ausnahmsweise mal mehr als der Platz her gibt wäre es schön wenn sich die größe der Zeile anpassen würde. Problem: Ich habe die Zeilenhöhe definiert, und das Anpassen sollte möglichst automatisch erfolgen.

Vlt. hat ja mal jemand Zeit und Lust und eine gute Idee, bei fragen oder ähnlichen einfach melden. Ist ein wenig umfangreicher!

Meine Idee an der ich grade Sitze:

Per Makro den Blattschutz aufheben Zellengröße +18 Blattschutz wieder anktivieren.

http://www.file-upload.net/download-7760773/testmapp…

http://www.file-upload.net/download-7760773/testmapp…

Hallo Heidi,

Der Benutzer darf sich nur in den Freigegebenen Berreichen
bewegen, muss jedoch händisch was eingetragen werden, und ist
es ausnahmsweise mal mehr als der Platz her gibt wäre es schön
wenn sich die größe der Zeile anpassen würde. Problem: Ich
habe die Zeilenhöhe definiert, und das Anpassen sollte
möglichst automatisch erfolgen.

schmeiß die mistigen verbundenen Zellen raus dann gehts doch
automatisch ohne Makro wenn
[X] Zeilenumbruch

Per Makro den Blattschutz aufheben Zellengröße +18 Blattschutz
wieder anktivieren.

Das geht mit zwei Buttons, +18 und -18, aber die müßtest du
manuell klicken für die selektiere(n) Zelle(n).
Automatisch kann man das über „Worksheet_Change“ machen lassen
bei Zellwertänderung allerdings bei Schriftart Arial nicht ganz so
einfach.

Bei einer nichtproportionalen Schriftart könnte man das einfacher
machen, einfach nach Zellwertänderung die Zeichen zählen und
dementsprechend die Zeilenhöhe auf 18,36,54, usw. setzen.

Gruß
Reinhard

Morgen,

schön das du dir die Arbeit gemacht hast und dir alles mal angeschaut!

schmeiß die mistigen verbundenen Zellen raus dann gehts doch
automatisch ohne Makro wenn
[X] Zeilenumbruch

…kann ich leider nicht machen, hab zum Teil Zeilen die zusammen stehen müssen, und dann wieder Zeilen die in 2 oder 3 Zellen aufgeteilt sein sollen, hab mal einen kleinen Screenshot angehängt:

http://s1.directupload.net/file/d/3303/mpcjhve7_jpg.htm

Die Roten Berreiche müssen zu bearbeiten sein, und bei Bedarf muss sich die Zeile dann halt vergrößern.

Ich werd mich mal an das Makro machen. Anfänglich mal mit dem „klicken“, und bei Bedarf automatisieren.

Hallo Almheidy,

schmeiß die mistigen verbundenen Zellen raus dann gehts doch
automatisch ohne Makro wenn
[X] Zeilenumbruch

…kann…will :smile: ich leider nicht machen,

hab zum Teil Zeilen die …

http://s1.directupload.net/file/d/3303/mpcjhve7_jpg.htm

Ich werd mich mal an das Makro machen. Anfänglich mal mit dem
„klicken“, und bei Bedarf automatisieren.

Bitteschön. Nachstehend ein Alternativangebot ohne verbundene
Zellen.

Gruß
Reinhard

PS: den ganz unten stehenden Code erst einbauen wenn alles hübsch
frisiert ist sonst funkt der dazwischen.

Nachstehende Tabelle wie folgt frisieren bei „Ausrichtung“:
Die auszufüllenden Zellen :
[X] Zeilenumbruch
B3:C3 sowie B4:C4 bei „Horizontal“: Über Auswahl zentrieren.
Bei „Schutz“: [] gesperrt

Die anderen Zellen:
Bei „Vertikal“: Oben

Zellbereich: [Mappe1]Tabelle1!A1:C8

\begin{tabular}{|c|c|c|c|}
\hline
& \textbf{A} & \textbf{B} & \textbf{C}\
\hline
\textbf{1} & Dicke & min & \
\hline
\textbf{2} & & max & \
\hline
\textbf{3} & Flach & & \
\hline
\textbf{4} & Alu & & \
\hline
\textbf{5} & Verfahren & Werkstoff & arbeiten \
\hline
\textbf{6} & & & Feuer \
\hline
\textbf{7} & & & Wasser \
\hline
\textbf{8} & & & Licht \
\hline
\end{tabular}

In das Modul der Tabelle

Option Explicit

Private Sub Worksheet\_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "C3" Or Target.Address(0, 0) = "C4" Then
 Target.Offset(IIf(Target.Address(0, 0) = "C3", 1, 2), -1).Select
End If
End Sub
1 Like

Hey Reinhard,

hatte jetzt ein wenig Zeit mal die zwei Buttons zu „programmieren“,
funktioniert ganz gut soweit, auch wenn ich einsehe das es wohl mit deiner Variante einfacher ist.

Wenn ich noch mal Luft hab was an dem Projekt zu ändern werde ich deine Variante mal einarbeite!

Ich dank dir!

Hallo Almheidy,

hatte jetzt ein wenig Zeit mal die zwei Buttons zu
„programmieren“, funktioniert ganz gut soweit,

zeig mal bitte, nicht hier sonst verzettelt sich das, „oben“
in der anderen Beitragsfloge die Codes die du hast.
Dann kann ich dort den anderen auch begutachten.

Ich schreib gleich oben was zu dir, keine Angst, geht nur um
Nuancen. Das Grundgerüst, die Grundlogik deines gezeigten
Codes ist vollkommen okay.

Übrigens, wenn du wieder mal auf Code von Ransi stößt,
er ist Klassen besser als ich, gehe mal davon aus daß sein
Code okay ist.
Läuft er bei dir nicht so liegt das m.M.n. an irgendetwas was
bei dir annerster ist als bei dem Anfrager für den ransi
den Code gebastelt hat.

auch wenn ich einsehe das es
wohl mit deiner Variante einfacher ist.

Meine Variante hin oder her, gibt auch andere Lösungsideen,
einfacher, wirksamer, besser, effektiver ist alles was
den Usern Arbeit/Zeit abnimmt.

Und bei jeder Zellwertänderung muß der User schauen ob er auf

  • oder - klicken müßte. Dies dann auch anklicken.
    Ergo, die 2Button-Lösung kostet über Jahre gesehen Zeit, Nerven,
    ===Geld.

Wenn ich noch mal Luft hab was an dem Projekt zu ändern werde
ich deine Variante mal einarbeite!

Auch okay, Projektfertigstellung daß es überhaupt stabil
funktioniert ist ertsmal die oberste Priorität.
Ist das gelungen, dann ist Zeit für Einzeltuning.

Gruß
Reinhard