Blatt löschen

Bild

Betrifft: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 09:06:07

Hey Leute
Habe das Kontexmenü bei Arbeitsblättern deaktiviert,um es vor Manipulation ein wenig zu schützen.
Nun möchte ich schon auf jedem AB eine Schaltfläche hinzufügen,wenn man irrtümmlich ein TB hinzugefügt hat,dieses auch wieder zu löschen.Erstes TB kann man nicht löschen.
Könnte mir bitte jemand den Code zeigen??
Danke Heinz

Bild


Betrifft: AW: Blatt löschen von: Harald E
Geschrieben am: 11.02.2005 09:20:09

Nochmal Hi,

das erscheint mir etwas kompliziert. Woher weiß man denn, dass das Hinzufügen ein Irrtum war ?
Wie oft kommt dieser Irrtum vor, um die Erstellung eines Löschbuttons zu rechtfertigen ?

Also rechte Maus auf den Tabellenreiter und Blatt löschen scheint mir der sinnvollere und kürzere Weg zu sein.

Gruß
Harald


Bild


Betrifft: AW: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 09:25:12

Hallo Harald
Zur Erklärung
Jene Leute die mit dieser Stundenabrechnung arbeiten sind Physisch krank. Ist für Promente,vielleicht hast Du schon mal davon gehört.Sie sind eben nicht die hellsten Köpfe,ohne sie zu beleidigen.Dafür sollte eine Absicherung so gut wie möglich sein.

Gruß Heinz


Bild


Betrifft: AW: Blatt löschen von: Harald E
Geschrieben am: 11.02.2005 09:39:56

Hallo Heinz,

dafür hab ich Verständnis. Unsere Mitarbeiter zerschiessen mir meine Dateien ebenfalls in regelmäßigen Abständen. Dabei sind Sie trotz Absicherungen unglaublich kreativ.

Der Ansatz von Alex ist brauchbar, nur sollte man sich vorab die möglichen Fehlbedienungsursachen als eine Art Lastenheft notieren und explizit die Abhilfemöglichkeiten durchgehen.
Blattschutz und If- Abfragen sind dafür vorbeugende Werkzeuge.

Gruß
Harald


Bild


Betrifft: AW: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 09:45:43

Hallo Harald
Du hast natürlich recht.Der Code von Alex funkt.nur löscht er mir alle Tabellblätter.Mache ich irgendetwas falsch?? Habe die Schaltfläche in 2.Arbeitsblatt gegeben.



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim rng As Range
   For Each rng In Target.Cells
      If rng.HasFormula Then
         ActiveSheet.Protect
         Exit Sub
      Else
         ActiveSheet.Unprotect
      End If
   Next rng
End Sub



Bild


Betrifft: AW: Blatt löschen von: Harald E
Geschrieben am: 11.02.2005 10:14:55

Heinz,

nix für ungut, aber das steh ich so nicht durch.
Hab deinen Debug Beitrag beantwortet ohne ihn komplett verstanden zu haben.
In diesem Thread gings es zuerst um Löschen von Tabellenblättern, jetzt bringst Du einen Code der auf seltsame Weise das Blatt schützt, wenn Formeln drin sind.

Mach dir ein Lastenheft. Welches Ergebnis muss die Datei bringen ? Wie sollen die Blätter aussehen, wie vermeide/behandele ich Fehleingaben bzw. was müssen die Codes können.
Schritt für Schritt. Und so kann man dann (verbunden mit eigenen Lösungsansätzen) im Forum der Lösung näherkommen.
Bedenke ebenso.
Hier sind sehr viele nette Menschen im Forum....aber nur einer davon hat je deine Datei gesehen. Je genauer die Problembeschreibung, desto Lösung ;-))...und ans Archiv denken.

Und bitte....das ist nicht böse gemeint.

Gruß
Harald


Bild


Betrifft: AW: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 10:27:37

Hallo Harald

Ja in meiner Verzweiflung habe ich zwei Sachen durcheinandergebracht.
Also das mit dem TB löschen funkt.SUPER.
Jetzt werde ich mich über die andere Aufgabe stürzen.
Danke für Deine Anteilnahme
gruß Heinz


Bild


Betrifft: AW: Blatt löschen von: alex
Geschrieben am: 11.02.2005 09:21:42


Sub teste()
application.displayalerts=false
if activesheet.name<>sheets(1).name then activesheet.delete
application.displayalerts=true
End Sub

damit löschst du die aktive tabelle, wenn es nicht die erste ist


Sub button
    ActiveSheet.Buttons.Add(375, 38.25, 99.75, 60).Select
    Selection.OnAction = "teste"
End Sub

geht mit makro aufzeichnen wunderbar


Bild


Betrifft: AW: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 09:48:08

Hallo Alex
habe Deinen Code in 2.Tabellenblatt mit Schaltfläche gegeben.Nun löscht er mir aber auch das erste Tabellenblatt.Was mache ich bitte falsch??
Danke Heinz


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim rng As Range
   For Each rng In Target.Cells
      If rng.HasFormula Then
         ActiveSheet.Protect
         Exit Sub
      Else
         ActiveSheet.Unprotect
      End If
   Next rng
End Sub



Bild


Betrifft: AW: Blatt löschen an Harald & Alex von: HeinzH
Geschrieben am: 11.02.2005 10:16:48

Hallo Alex & Harald
habe es mit den Code von Harald nach ein paar Spielchen hingebracht.
Funkt.genau so wie ich es wollte.
DANKE
gruß Heinz


Bild


Betrifft: AW: Blatt löschen von: Kurt
Geschrieben am: 11.02.2005 10:12:06

hi,
mal 'ne Verständnisfrage:
warum bekämpfst du die Auswirkungen und verhinderst nicht konsequent das einfügen eines Tabellenblattes ?
...und Tschüss Kurt


Bild


Betrifft: AW: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 10:24:20

Hallo Kurt
Zum Verständnis
Hier geht es um eine Stundenliste,ein neues Tabellenblatt muss alle 8 Wochen hinzugefügt werden.Man kann es sicher umgekehrt lösen.Aber ich finde es ist g'hupft wie g'sprungen.
gruß Heinz


Bild


Betrifft: AW: Blatt löschen von: Kurt
Geschrieben am: 11.02.2005 10:34:31

hi Heinz,
aber dann ist es doch wesentlich einfacher per Datum und Auto_Open ein neues Blatt einzufügen und ansonsten dem User alle anderen Möglichkeiten zu verwehren
naja wenn du meinst das ist gehupft wie gesprungen soll es dann eben so sein ;-)
...und Tschüss Kurt


Bild


Betrifft: AW: Blatt löschen von: HeinzH
Geschrieben am: 11.02.2005 10:43:44

Hallo Kurt
Ja das sagst Du!! Das ist mein erstes VBA Projekt.Hatte mir das ganze leichter vorgestellt.Aber Dank Eurer Hilfe in diesen Forum bin ich schon fast am Ziel.Habe mir Literatur schon zugelegt "VBA für Dummies".Bevor ich das nächstemal etwas mit VBA mache werde ich zuerst lesen...lesen...und nochmal...lesen.
Tschau Heinz


 Bild

Beiträge aus den Excel-Beispielen zum Thema "automatischer Abschluß- Rahmen "