513 Aufrufe
Gefragt in Tabellenkalkulation von
Bearbeitet

Hallo zusammen,

es dreht sich um eine Lotto- Auswertung per Makro.

Dazu suche eine Möglichkeit eine größere Menge unterschiedlicher Felder zu Markieren und oder zu Löschen.

Von Zelle DE7 bis DH18 werden die Gewinne angezeigt.(12 Spielfelder) Darunter werden die Gewinne zusammengezählt: 3er- DE7:DE18;   4er- DF7:DF18;   5er- DG7:DG18;   6er- DH7:DH18;

Darunter DE20:DH20 ist eine Leerzeile

Dies geht nun bis im Moment auf 112 Scheine so weiter.

Nun habe ich drei Möglichkeiten schon ohne Erfolg mehrmals probiert:

1. "Makro aufzeichnen" und dann alle Felder der Auswertung- OHNE die Gewinne darunter -  markiert und dann "Entf" und dann "Makro beenden". Dabei werden nur ca 50 von 112 Scheinen gelöscht.

2. "Makro aufzeichnen" und dann alle Felder markiert und dann "Makro beenden". Dabei werden die Felder mit ""Entf" per Hand gelöscht. Aber auch hier wird nur ein Teil gelöscht.

3.Alle Felder markiert und über den "Namens Manager" -"xx" eingegeben.  Auch wieder werden nicht alle Felder markiert bzw. gelöscht

Gibt es eine Möglichkeit dies in "den Griff zu bekommen" ?

Falls dies nur über ein Makro funktioniert wo muss ich das dann einfügen?

Herzlichen Dank

Gruß

Rudolf

11 Antworten

0 Punkte
Beantwortet von

Guten Tag,

möchte mich dazu mit einer Fragestellung nochmals an Euch wenden:

Ist es möglich- hier meine Listung:

DE7 : DH18
DE21 : DH32
DE35 : DH46
DE49 : DH60
DE63 : DH74
DE77 : DH88
DE91 : DH102
DE105 : DH116
DE119 : DH130
DE133 : DH144
usw. bis DE1799 : DH1810 in diesen Abständen auf einmal zu markieren
und dann den Inhalt zu löschen ? entweder manuell oder mit Makro
Sollten dazu noch Fragen sein bitte melden.
Danke
Gruß
Rudolf

0 Punkte
Beantwortet von

Hallo zusammen,

ich habe über das Internet "eine Möglichkeit" gefunden die auf meine Frage zutrifft.

(Leider ist das aus dem Jahr 2008- und ich habe Excel 2010- weiß also nicht ob das so funktioniert):

Frage: wie kann man per VBA die Zellenwerte eine Bereichs (Tabelle "Statistik" DE7:DH2000) per VBA löschen. Die Formeln in dem Bereich sollen nicht gelöscht werden.

Sub KeineFormel()

     Dim C As Variant

     For Each C In Range("DE7:DH2000")

     C.Select

     If C.HasFormula = False Then ActiveCell.ClearContents

    

     Next

     End Sub

Da ich fast keine VBA Kenntnisse habe möchte ich fragen ob das eine Lösung wäre?

Könnte mir dies jemand anpassen,- und wenn ja, wo ich das einfügen muss- und das ich das Makro z.B: mit Strg+Y auslösen kann.

Herzlichen Dank

Gruß

Rudolf

+1 Punkt
Beantwortet von
Hi Rudolf,

versuche es mal mit diesem Code:

Sub Loeschen()
    Dim lngZeile As Long
    For lngZeile = 7 To 1799 Step 14
        Range(Cells(lngZeile, 109), Cells(lngZeile + 11, 112)).ClearContents
    Next lngZeile
End Sub

Füge das Makro in ein allgemeines Modul ein. Aufrufen kannst du es im Register: Ansicht -> Befehlrsgruppe: Makros -> Schalter: Makro

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

habe gerade deine Info erhalten-

herzlichen Dank für deine Arbeit.

Da ich mich jetzt schon fast 2 Tage damit versuche habe ich mir über das Internet eine Anleitung über das Einfügen eines Makros angelesen und das auch auf Risiko  versucht. Mit dem Makro aus 2008- siehe oben-  hat es dann zu meiner Freude funktioniert.

Danke für deine Anleitung

Gruß

Rudolf

und ein schönes Wochenende
0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Rudolf,

hast du meinen Code wenigstens mal getestet? Bei deinem Code aus dem Internet wird nämlich jede Zelle selektiert, was überhaupt nicht erforderlich ist. Außerdem sollte mein Code wesentlich schneller sein, da er nicht jede einzelne Zelle auswählt sondern deine angegebenen Bereiche als ganzes leert.

Bis später, Karin
0 Punkte
Beantwortet von

Hallo Karin,

allso schneller ist dein Makro sicherlich. Hat mir die Formeln zum zusammenzählen- die stehen bleiben sollten-   razzfaz weggelöscht. Die Werte darüber sind stehengeblieben die auf Leer stehen sollten..

"Mein" Makro überläuft zwar jede einzelne  Zelle- setzt alles auf Null bzw. leer und lässt die Formeln stehen.

Siehst Du das auch so?

Gruß

Rudolf

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Rudolf,

aus deinem Eröffnungsbeitrag geht nicht ganz eindeutig hervor, wo sich deine Formeln befinden - ich habe das so interpretiert dass die festen (und zu löschenden) Werte für den 1. Bereich von DE7 bis DH18 stehen, dann in DE19:DH19 deine Formeln und danach in Zeile 20 eine Leerzeile ist. Für den 2. Bereich stehen die zu löschenden Inhalte im Bereich DE21:DH32, die Formeln stehen in DE33:DH33 und danach eine Leerzeile. Wenn das anders ist, dann musst du schon mal ganz eindeutich angeben, welche Zellenbereiche gelöscht werden sollen und welche stehen bleiben sollen da sie Formeln beinhalten.

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

ich habe deine Angaben drei Mal durchgelesen und mit meiner Tabelle verglichen. Das stimmt alles so wie Du es interpretiert hast. Ist für mich jetzt nichts schlimmes passiert, - genauer kann ich es nicht schreiben.

Bedanke mich nochmals für deine Arbeit

Gruß

Rudolf
+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi Rudolf,

ich habe mir jetzt die Mühe gemacht, deine Tabelle nachgebaut und anschließend mein Makro ausgeführt. Wie du im angehängten Beispiel siehst, sind alle Zellen mit Formeln noch vorhanden, nur die jeweils darüberliegenden Zellen sind geleert. Zum Vergleich siehst du auch noch die Ausgangstabelle.

https://supportnet.de/forum/?qa=blob&qa_blobid=299010148791412713

Bis später, Karin

0 Punkte
Beantwortet von
Hallo Karin,

da ich Dir in keinster Weise Unrecht tun will bin ich heute morgen nochmals an deinem Makro gesessen.

Ich habe zwei identische Programme- eines für Mittwoch, eines für Samstag.

Habe bei beiden dein Makro eingegeben und siehe da- auch zu meiner Freude -plötzlich funktionierts.

Was ich leider jetzt nicht mehr nachvollziehen kann ob ich das Modul falsch eingegeben habe - glaube ich zwar nicht ( WÄRE DAS MÖGLICH) oder was der Hintergrund dazu ist?

Du hast jetzt viel Arbeit mit mir gehabt, deine Mühe habe ich mit deinem Makro belohnt. Danke

das Du dich nochmals daran gesetzt hast.

Viele liebe Grüße

Rudolf
...