Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Columns verbergen/schützen

Betrifft: Columns verbergen/schützen von: k.reffert
Geschrieben am: 03.09.2004 22:03:19

Hola, Dank eurer Hilfe hat mein Prozedürchen schon ordentlich Form angenommen, habe nur noch ein Problem: 2 Hilfsspalten (DA und DB, btw), die ich benötige, möchte ich nicht nur ausblenden, sondern dauerhaft verhindern, daß der Normal-User da ran kommt... Also ähnlich wie Worksheets("Tabelle2").Visible = False
Mit der Hilfe zu "Columns" komme ich nicht klar; könnt ihr mir vielleicht hier helfen??? Darüber tät ich mich arg freuen, 1000 Dank vorab.
Karin

  


Betrifft: AW: Columns verbergen/schützen von: PeterW
Geschrieben am: 03.09.2004 22:08:35

Hallo Karin,

mit Worksheets("Tabelle2").Visible = False lässt sich eine Tabelle über Format Blatt einblenden von fast jedem Excel-User wieder einblenden. ;-)

Kannst du die Hilfszeilen auf ein anderes Blatt auslagern und dieses mit Blattname.Visible = xlVeryHidden etwas "sicherer" ausblenden?

Gruß
Peter


  


Betrifft: AW: Columns verbergen/schützen von: k.reffert
Geschrieben am: 03.09.2004 22:25:25

Vielen Dank, Peter, für diese Info.
Das Feature Format/Blatt/einblenden is' mir nie aufgefallen, wieder was dazugelernt...
Da ich in der einen Spalte einen SVERWEIS und in der angrenzenden eine ISTNV-Funktion habe,
die ich zum Berechnen des unsichtbaren Blattes brauche, dazu diverse Zeilen ausgeblendet sind, durch meinem Code auch noch diverse Zeilen gelöscht werden, kann ich mir noch nicht vorstellen, ob das mit Auslagern funktioniert?
Eine Idee habe ich noch: kann ich eine msgbox basteln, die immer dann mit ner warnung hochpoppt, wenn jemand eine Zelle dieser beiden spalten anklickt? Wie müsst ich da vorgehen, hast du einen Rat? Danke schön.
Karin


  


Betrifft: AW: Columns verbergen/schützen von: Dieter Maj
Geschrieben am: 03.09.2004 22:17:57

Hallo
kleiner Denkanstoss und vorallem auf die Schnelle:
blende beide Spalten aus und gib folgende Ereignisprozedur ein:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column = 105 Or Target.Column = 106 Then Range("a1").Select
End Sub


ist zwar kein 100% Schutz, aber man kommt nicht auf die Spalten
Gruß Dieter


  


Betrifft: AW: Columns verbergen/schützen von: k.reffert
Geschrieben am: 03.09.2004 22:28:02

@dieter
hey, das klingt gut! werd ich probieren, feedback folgt...
Vielen Dank schon mal, was tät ich ohne euch Könner?
Grüsse,
Karin


  


Betrifft: AW: Columns verbergen/schützen von: PeterW
Geschrieben am: 03.09.2004 22:42:54

Hallo Dieter,

ändern lassen sich die "versteckten" Spalten ganz einfach durch eine Markierung, beispielsweise auf CZ1:DC1, Eingabe eines Wertes und Bestätigung der Eingabe mit Strg+Shift+Enter. Man kommt zwar nicht auf sie Spalten, kann sie aber trotzdem ändern. :-(

Gruß
Peter


  


Betrifft: AW: Columns verbergen/schützen von: Nepumuk
Geschrieben am: 03.09.2004 23:09:49

Hallo Peter,
so nicht:


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column + Target.Columns.Count = 106 Or Target.Column + Target.Columns.Count = 107 Or (Target.Column < 107 And Target.Column + Target.Columns.Count > 105) Then
        With Application
            .EnableEvents = False
            .Undo
            .EnableEvents = True
        End With
        MsgBox "Nicht gestattet.", 48, "Hinweis"
    End If
End Sub


Gruß
Nepumuk


  


Betrifft: AW: Columns verbergen/schützen von: PeterW
Geschrieben am: 03.09.2004 23:31:00

Hallo Nepumuk,

das nenn ich eine solide Lösung - wie von dir nicht anders zu erwarten. ;-)

Gruß
Peter


  


Betrifft: Nachteile von Undo von: Beate Schmitz
Geschrieben am: 04.09.2004 01:06:15

Hallo zusammen,

ich las diesen Thread und die Lösung von Nepumuk und erinnerte mich an einen Thread, den ich kürzlich selbst gestellt hatte:

http://www.excel-center.de/forum/read.php?f=1&i=73869&t=73780

Es ging auch um Schutz durch Undo.

Interessant war folgender Kommentar von Wolfgang:

>mit der function undo wirst du probleme bekommen, da 'firmenseitig' (damit meint er >microsoft) nur 16 undos zulaessig sind...
>du kannst diesen parameter in der registry hacken, damit verkleinerst du aber den fuer >das recalc zur verfuegung stehenden speicher...
>warum loest du das problem nicht ueber data validation und erlaubst nur x....
>ausserdem 'feuert' ein sheet-change-event bei jeder cell-eingabe...

Wen es interessiert muss sich durch den Thread beissen (er ist umfangreich, aber Profis am Werk).

Gruß,
Beate


  


Betrifft: AW: Columns verbergen/schützen von: k.reffert
Geschrieben am: 04.09.2004 08:18:33

Dank euch allen für die Unterstützung!
Habe Nepumuk's Idee (suuuuper, wie immer! Mille Grazie!) übernommen, nur den MsgText variiert sowie buttons auf 16 gesetzt...
@Beate: den Thread (Danke für den Hinweis!) habe ich gelesen, aber schnell den Durchblick verloren, nicht mein "Laien-Level". Der Satz "... da 'firmenseitig' nur 16 undos zulaessig sind..." verunsichert mich: heisst das, wenn in meinem Fall der User 17 Mal versucht, was in die Spalte DA reinzuschreiben, Excel abschmiert?
Grüsse,
Karin


  


Betrifft: Wer weiß mehr? Nur 16 mal Undo? von: Beate Schmitz
Geschrieben am: 04.09.2004 11:50:31

Hallo Karin,

ich bin ganz sicher, auch an anderer Stelle schon mal etwas von dieser Beschränkung gelesen zu haben. Aber tiefergehende Infos kann ich dir da nicht zu geben. Ich werde Wolfgang mal auf deine Rückfrage hinweisen und wenn er grundsätzlich da ist, wird er dir bestimmt Hintergrund geben. Aber frühestens Montag oder Dienstag.

Gruß,
Beate


  


Betrifft: AW: Wer weiß mehr? Nur 16 mal Undo? von: Bert
Geschrieben am: 04.09.2004 12:28:55

Die Undo- Schritte sind standardmäßig auf 16 begrenzt. Das spielt aber keine Rolle,
da nach Ausführung eines Makrocodes ein Undo ohnehin nicht mehr möglich ist.

Bert


  


Betrifft: AW: Wer weiß mehr? Nur 16 mal Undo? von: Michi
Geschrieben am: 04.09.2004 19:27:29

@Bert,
d.h., Undo wird nach einer Makroausführung sowieso "zurückgesetzt"? (Wäre auch mein erster Gedanke). Demzufolge wäre der Code ok.

Gruss
Michi


  


Betrifft: AW: Wer weiß mehr? Nur 16 mal Undo? von: Bert
Geschrieben am: 04.09.2004 20:37:43

Genauso ist es!

Bert


  


Betrifft: AW: Wer weiß mehr? Nur 16 mal Undo? von: Nepumuk
Geschrieben am: 04.09.2004 17:45:21

Hallo Beate,
noch mehr Informationen findest du hier:

http://195.186.84.74/xlimits/speicher.htm#

Gruß
Nepumuk


  


Betrifft: @Nepumuk von: Beate Schmitz
Geschrieben am: 04.09.2004 21:37:16

Danke für die Info, Nepumuk. Auch ansonsten interessante Seite.

Gruß,
Beate


  


Betrifft: AW: Columns verbergen/schützen von: Nepumuk
Geschrieben am: 04.09.2004 17:04:01

Hallo Karin,
nein, das kann nicht passieren. Um das ganze mal zu erklären, beim laden von Excel wir im Arbeitsspeicher ein Bereich (UNDO - Speicher) reserviert, in dem die Änderungen die du vornimmst gespeichert werden. Bei den voreingestellten 16 Schritten passiert folgendes: Wenn du die 17. Änderung vornimmst, wird die 1. Änderung überschrieben. Bei der 18. die 2. usw.. Es kann also weder einen Speicherüberlauf oder einen Absturz ausgelöst werden. Wenn du nun ein Makro startest welches eine Änderung (Wert oder Format) in der Tabelle vornimmt, wird der UNDO - Speicher komplett gelöscht. Darum ist per Makro immer nur ein UNDO - Schritt möglich. Ich habe mal ein Addin geschrieben, das maximal 10 UNDO - Schritte und 10 DO - Schritte erlaubt. Frage nicht, was das für ein Aufwand ist. Dabei berücksichtigt das Makro nur Wertänderungen und keine Formatänderungen.
Jetzt klarer?
Gruß
Nepumuk


  


Betrifft: AW: Columns verbergen/schützen von: k.reffert
Geschrieben am: 04.09.2004 20:13:23

Hi, Nepumuk,
das Phänomen, das du in deinen ersten 5 Sätzen beschreibst, ist mir in Excel schon begegnet,
jetzt versteh' ich endlich, warum das so ist; die Beiträge von @Bert und @Michi haben mich erahnen lassen, was du in den nächsten Sätzen beschreibst... Ich muß mir keine Sorgen machen, weil in meinem (ich sollte besser sagen: in DEINEM ;-) ) Code bzgl. Spaltensperre die Application.Undo nur genau EINMAL vorkommt... Habe ich also versucht, eine Zelle der betreffenden Spalten zu ändern, ist der UNDO-Speicher wg. des Ablaufens der Prozedur ja wieder geleert, also kann ich munter versuchen, die nächste Zelle der "Verbotenen Zone" zu ändern, das Spiel startet von neuem. Usw...
Doch, ich denke jetzt ist es klarer, also vielen Dank für deine Mühe!!!
Grüsse reih'um,
Karin