761 Aufrufe
Gefragt in Tabellenkalkulation von robbi58 Mitglied (966 Punkte)

Liebes Forum!

Dank eurer Hilfe habe ich mittlerweile viele Arbeitsblätter für meine SchülerInnen fertiggestellt. Doch beim Arbeiten stößt man immer wieder auf Probleme, an die man im Vorfeld gar nicht gedacht hatte.

Mein Problem ist folgendes : 

In den Spalten A bis J befindet sich meine "Datenbank", mit der ich meine Aufgaben in den Spalten M bis ZZ gestalte. Die Zellen in den Spalten A bis J sind nicht gesperrt (da diese mit dem Drücken eines CommandButtons neu definiert werden), die Zellen ab den Spalten M sind größtenteils gesperrt. In diesem Bereich aber befinden sich zahlreiche Zellen, die zur Bearbeitung freigegeben werden. Bis jetzt habe ich diese Zellen per Hand in das Makro geschrieben, da ich diese nach Beendigung leeren möchte (bei bis zu 70 Zellen ist das sehr mühsam).

Meine Frage lautet: Gibt es eine Möglichkeit, so wie hier an diesem Beispiel, alle nicht gesperrte Zellen einer ganzen Arbeitsmappe ab der Spalte M (dies kann ich ja dann anpassen) per CommandButton zu leeren und wenn möglich, gleichzeitig einzufärben. Das wäre eine enorme Arbeitserleichterung und würde mir bei der Fehlersuche äußerst hilfreich sein.

Danke und ein angenehmes Wochenende von Robert

16 Antworten

0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)

Hallo M.O.

Normalerweise checke ich die Datei noch genau, bevor ich einen Link im Forum poste. Jetzt mache ich mir ernsthafte Sorgen, ob nicht Freund Alzheimer bei mir fröhliche Urständ feiert. Weil mich hat es gewundert, dass bis auf zwei Dateien (jetzt weiß ich warum) es überall funktioniert hat. Es tut mir leid, dass ich deine Energien mit so etwas verschwendet habe.

Danke für dein Bemühen. Robert

Jetzt bin ich in der Eigentorwertung nicht mehr von der Spitze zu verdrängen. smiley

0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)
Eine Verständnisfrage zu diesem Thema hätte ich noch: das Makro löscht alle nicht geschützten Zellen und färbt diese ein! Löscht das Makro  alle Spalten oder nur ab einer gewissen Spalte. Wenn nur gewisse Spalten, wo befindet sich die Zeile im Makro, wo ich dies meinen Bedürfnissen (ab Spalte so und so) anpassen kann. Wenn alle Spalten, dann lösche ich mit dem Makro auch meine generierten Zufallszahlen, die ich aber  per CommandButton wieder aktiviere und per Zufall generieren kann. Ich frage deshalb nach, weil ich eine Arbeitsmappe habe, in der erst ab Spalte P die nicht geschützen Zellen gelöscht werden sollten.

Robert
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Robert,

das Makro ermittelt den Bereich je nach Arbeitsblatt. Durchlaufen werden aber nur nicht ausgeblendete Spalten. Ich habe das so gelöst, da du ja in deinen drei Arbeitsblättern verschiedene Bereiche hattest. Wenn du willst, kann man das Makro auch so ändern, dass ein fester Bereich abgearbeitet wird.

Gruß

M.O.
0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)
Hallo M. O.

Meine Frage habe ich deshalb gestellt, weil ich versucht habe, das Makro Schritt für Schritt durchzugehen und es zu verstehen. Alles passt perfekt, weil es für mich eine wesentliche Arbeitserleichterung und damit Zeitersparnis darstellt. Auf ein Angebot von dir möchte ich noch zurückkommen: nämlich über ein allgemeines Modul alle Blätter der Arbeitsmappen schützen bzw. den Schutz aufheben. Habe das Thema bis jetzt noch nicht im Web recherchiert.

Danke Robert
0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)

Liebes Forum!

Beim Werkeln stößt man immer wieder auf kleiner Hürden, die mich aber vor größere Probleme stellen.

Ich habe das in diesem Thread veröffentlichte Makro umgeändert:

'Level-Blätter durchlaufen
For w = 1 To 4
 struebung = "uebung" & w       'Namen des Blatts wird erstellt
 'Variablen für Spalten werden zurückgesetzt
 lngASpalte = 0
 lngESpalte = 0
 i = 0
 'der zu durchlaufende Bereich wird ermittelt
 With Worksheets(struebung)
  'hier wird festgestellt, wo die erste sichtbare Spalte ist
  Do

Es war ausgerichtet auf den Durchlauf für 3 Blätter und auf den Blattnamen "Level". Nun habe ich die Zahl auf 4 erhöht mit dem Blattnamen "uebung" (Uebung1, Uebung2,...). Ich hätte mir gedacht, das genügt. Aber offensichtlich doch nicht. Was habe ich übersehen?

Danke, Robert

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Robert,

wenn ich das richtig sehe, heißen deine Tabellenblätter "Uebung1" etc (mit großem 1. Buchstaben!). Mit der Variable erstellst du aber z.B. den Namen "uebung1" (kleiner 1. Buchstabe!). Da hier auch auf Groß- und Kleinschreibung geachtet wird, müsste bei dir eine Fehlermeldung wie "Index außerhalb des gütligen Bereichs" kommen.

Wenn du also die Zeile

struebung = "uebung" & w       'Namen des Blatts wird erstellt

in

struebung = "Uebung" & w       'Namen des Blatts wird erstellt

änderst sollte das Makro eigentlich entsprechend funktionieren.

Gruß

M.O.

...