TabellenGruppe bearbeiten mit VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: TabellenGruppe bearbeiten mit VBA
von: LotharP
Geschrieben am: 09.10.2003 16:06:06

Hallo Leute,

ich schon wieder.
Hab' (nein wollte)mir ein kleines Makro basteln, welches in einem Workbook die Inhalte aller Tabellen, bis auf Überschriften, löscht.
Das ganze sieht so aus:


Sub ANSGLAR()
' die Datei wird geleert, heisst in allen Feldern der
' Datei, ohne Überschriften, werden die Inhalte gelöscht
Dim Frooge
Frooge = MsgBox("möchten Sie die Daten löschen und neu einlesen?", vbYesNo)
        If Frooge = vbNo Then
                Exit Sub
        Else
        End If
    Sheets(Array("PLAN", "PlanVerz", "Fehler")).Select
    Rows("2:65536").ClearContents
    Sheets("PLAN").Activate
End Sub


Irgendwie macht er das aber nur im aktuellen Blatt, Warum??!
Klar könnte ich das jetzt Blatt für Blatt durchlaufen lassen, aber eigentlich müsste das doch auch so funktionieren?
Was ist verkehrt?


Gruß

Lothar
Bild


Betrifft: AW: TabellenGruppe bearbeiten mit VBA
von: Michael Scheffler
Geschrieben am: 09.10.2003 16:10:23

Hallo,

Du müsstest eine Schleife prgrammieren, nach dem Motto:

For Each Sht In Sheets
Dein Code
Next

Gruß

Micha


Bild


Betrifft: AW: TabellenGruppe bearbeiten mit VBA
von: LotharP
Geschrieben am: 09.10.2003 16:18:18

Hallo Michael,
Danke für die prompte Antwort, das hab' ich mir fast gedacht, Blatt für Blatt.
Aber bist du dir wirklich sicher das er das mit der Gruppe nicht in VBA kann?
Das ist kein Problem da jetzt ne Schleife drumrumzubauen aber irgendwie will mir das nich so richtig innen Kopp?(Nun gut, das liegt daran das ich extrem starrsinnig bin)

Gruß

Lothar


Bild


Betrifft: AW: TabellenGruppe bearbeiten mit VBA
von: Michael Scheffler
Geschrieben am: 09.10.2003 16:26:41

Hi,

das ist halt ein Problem dahingehen, dass Du die Methode ClearContents benutzt,
die einem Range-Object zugehörig ist und Deine Tabellenauswahl ist halt keines.

Achso: "Activate" und "Select" sollte man sich sparen.

Gruß

Micha


Bild


Betrifft: AW: TabellenGruppe bearbeiten mit VBA
von: LotharP
Geschrieben am: 09.10.2003 16:56:54

Hallo Micha,

die Antwort hab' ich jetzt nich so richtig verstanden, aber ist auch nicht so wichtig.
Die Erkenntnis hieraus ist; es geht halt nicht!!?
Nunja, hab' ich doch gerade noch den Mund so voll genommen von wegen, EINE SCHLEIFE DRUMRUM is nich so schwer!!
Grundsätzlich nicht, aber ich hatte es halt ursprünglich anders vor.
Hier Meine Lösung und vieleicht hast du die

For each ws in Workbbok Alternative?



Sub ANSGLAR()
' die Datei wird geleert, in allen benutzten Feldern der
' Datei, ohne Überschriften, werden die Inhalte gelöscht
Dim Bl As Byte
Dim Frooge
Frooge = MsgBox("möchten Sie die Daten löschen und neu einlesen?", vbYesNo)
        If Frooge = vbNo Then
                Exit Sub
        Else
        End If
        Bl = Sheets.Count
   While Bl >= 1
        Sheets(Bl).Rows("2:65536").ClearContents
        Bl = Bl - 1
     Wend
        Sheets("PLAN").Select
End Sub


Ich hoffe du weisst was ich meine?!
Die Geschichte mit der Variablendeklaration und ihrer Handhabung scheint mir noch ein Buch mit mehreren Siegeln zu sein.


Gruß

Lothar


 Bild

Beiträge aus den Excel-Beispielen zum Thema " TabellenGruppe bearbeiten mit VBA"