Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

makro auf ganze Mappe anwenden





Frage

Hallo, ich habe hier ein makro, das ein muster sucht und die entsprechende zelle löscht: [code] Private Sub CommandButton1_Click() If ActiveCell.Value = "" Then MsgBox "Formel gewesen" ActiveCell.Clear End If End Sub [/code] Das ganze zielt jetzt auf die aktive zelle. Das makro soll aber auf die ganze mappe wirken...

Antwort 1 von coros

Moin iso,

also eventuell steh ich ja gerade auf dem Schlauch, aber was soll der Code überhaupt bewirken? Das was ich da sehe ist, er soll wenn die aktive Zelle leer ist, die Meldung bringen und dann die ohnehin schon leere Zelle den Inhalt löschen. Wozu soll denn das dann auf die gesamte Mappe angewendet werden? Oder ist das nur ein Beispielcode und der richtige sieht ganz anders aus?

Ich glaube Du musst das mal aufklären.

Bei der Gelegenheit kannst Du dann am Ende Deines Beitrages auch einen Gruß setzen. Sieht einfach besser aus.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von iso

Ich hab am anfang auch gedacht, dass die prüfung "" gleich leer ist, ist aber bei einem office makro anscheinend nicht so. es wird geprüft, ob in der zelle "" vorhaden ist.
wenn man normalerweise "richtig" programmiert ist das schwer zu verstehen, ist aber so.

ganz nebenbei ist es egal, was der code bewirkt, ich will nur wissen, wie ich so einen code (oder einen anderen) nicht nur auf die aktive zelle, sondern auf das ganze workbook wirken lassen kann.


ohne gruß

Antwort 3 von coros

Hallo iso,

ganz nebenbei ist es eben nicht egal, das man wissen sollte was der Code bewirken soll. Denn so einfach ist Deine Frage nicht zu beantworten. Man kann einen Code für die gesamte Mappe anwenden lassen, in dem man in dem VBA Projekt "DieseArbeitsmappe" ein Sheet-Ereignis nimmt. Da es dort aber eine Vielzahl davon gibt müsste man schon wissen was wann wo passieren soll.

Im Übrigen ist das mein letztes Posting in Form eines Lösungsversuches an Dich, da ich finde, Du solltest erst mal überlegen was Du so in Deinen Antworten schreibst. Ich beziehe mich u. a. auf den Text

Zitat:
ohne gruß


und die gesamte Schreibweise Deines Beitrags. Eventuell interpretiere ich da ja was falsches hinein. Ich finde es schon Frech, Hilfe zu erwarten und sich dann aber nicht an gewisse Umgangsformen zu halten.


MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Antwort 4 von nighty

hi all :))

wie gewünscht :))

gruss nighty

Option Explicit
Private Sub CommandButton1_Click()
Dim zaehler0 As Integer
Dim zaehler1 As Long
Dim zaehler2 As Integer
For zaehler0 = 1 To Sheets.Count
For zaehler1 = 1 To Sheets(zaehler0).UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zaehler2 = 1 To Sheets(zaehler0).UsedRange.SpecialCells(xlCellTypeLastCell).Column

If Sheets(zaehler0).Cells(zaehler1, zaehler2) = "" Then
MsgBox "Formel gewesen"
ActiveCell.Clear
End If

Next zaehler2
Next zaehler1
Next zaehler0
End Sub

Antwort 5 von nighty

hi all :))

ActiveCell.Clear

durch das bitte noch ersetzen

Sheets(zaehler0).Cells(zaehler1, zaehler2).Clear

gruss nighty

Antwort 6 von iso

danke nighty!!
dein vorschlag hat uns zur lösung gebracht!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: