Makrobefehle genauer definieren

Hallo zusammen, :smiley:

da ihr mir schon einmal so nett geholfen habt, hoffe ich noch einmal auf Hilfe…
Ich hatte vor einigen Tagen schon mein Problem unter „komplizierte Mehrachfunktionen“ geschildert. Nun klappt es ja schon ganz gut. Mein Problem war noch das Sortieren. Nun habe ich ein Makro aufgezeichnet,in dem ich auf dem TabBlatt „Nachweis_Antragspersonen“ auf ein Button klicke, der diese Daten dann kopiert und in ein neues Tabellenblatt (Nachw_AntrPers-sortiert) nur die Werte einträgt. Anschließend werden diese Reihen dann markiert und sortiert. Das klappt … aber er nimmt leider auch die Zeilen mit, in dem nur Formeln stehen und sortiert diese als leere Zeilen an den Anfang. Das möchte ich natürlich nicht. :wink:

Darüber hinaus habe ich das TabBlatt „Anrag“, der zwei Makro-Buttons enthält. Diese Buttons sollen auch mit aktiviertem Blattschutz ausführbar sein. Im Moment geht es leider nicht bzw. nur mit Fehlermeldung.

Ich stell die Datei noch einmal zur Verfügung:

http://www.file-upload.net/download-3424674/tr_Antra…

Vielleicht könnte ja einer mal einen Blick drauf werfen und Hilfestellung geben.

Vielen lieben Dank.
KK

ich ein Makro aufgezeichnet,in dem ich auf dem TabBlatt
„Nachweis_Antragspersonen“ auf ein Button klicke, der diese
Daten dann kopiert und in ein neues Tabellenblatt
(Nachw_AntrPers-sortiert) nur die Werte einträgt. Anschließend
werden diese Reihen dann markiert und sortiert. Das klappt …
aber er nimmt leider auch die Zeilen mit, in dem nur Formeln
stehen und sortiert diese als leere Zeilen an den Anfang. Das
möchte ich natürlich nicht. :wink:

Darüber hinaus habe ich das TabBlatt „Anrag“, der zwei
Makro-Buttons enthält. Diese Buttons sollen auch mit
aktiviertem Blattschutz ausführbar sein. Im Moment geht es
leider nicht bzw. nur mit Fehlermeldung.
http://www.file-upload.net/download-3424674/tr_Antra…

Hallo Kerstin,

gehe mal in beide genannten Blätter, markiere Zeile 34 bis ganz nach unten also 65536, dann Rechtsklick mit der Maus und Zeilen löschen.
Irgendwo in Zeile 1950 o.ä. steht irgendwas drin was stört.
Jedenfalls wurde das so bei Usedrange.Address angezeigt.

Warum auch immer klappt das nicht ganz mit „nur Werte“. Probier mal meinen Code.

Tipp, wenn du das Sortieren aufzeichnest schreib Excel immer xlGuess rein egal ob du ausgewählt hast mit oder ohne Überschrift.
Nicht begründet, reines Mißtrauen meinerseits Excel gegenüber, ich ändere das dann immer auf xlNo oder xlYes. Safety first :smile:)

Code getestet mit XL2000.

Gruß
Reinhard

Option Explicit

Sub ListeNeuSortieren()
Dim wks1 As Worksheet
Set wks1 = Worksheets("Nachweis\_Antragspersonen")
With Worksheets("Nachw\_AntrP\_sortiert!")
 .Range("A5:J999").ClearContents
 wks1.Unprotect
 wks1.Range("A5:J" & wks1.UsedRange.SpecialCells(xlCellTypeLastCell).Row).Copy
 .Range("A5").PasteSpecial Paste:=xlValues, Operation:=xlNone
 wks1.Protect
 With .Range("A5:J" & .UsedRange.SpecialCells(xlCellTypeLastCell).Row)
 .Value = .Value
 .Sort Key1:=.Range("A5"), Order1:=xlAscending, Key2:=.Range("D5") \_
 , Order2:=xlAscending, Header:=xlNo, OrderCustom:=6, MatchCase:= \_
 False, Orientation:=xlTopToBottom
 End With
 .Activate
 .Range("A5").Select
End With
End Sub

Hallo Reinhard,

ja, wahnsinn! Klappt super dein Code!! Und keine Leerzeilen mehr. Besten Dank.

Irgendwo in Zeile 1950 o.ä. steht irgendwas drin was stört.
Jedenfalls wurde das so bei Usedrange.Address angezeigt.

Uups, jups mein Fehler. Ich wollte eine ursprüngliche Formel mal sicherhaltshalber weiter unten eintragen, falls meine Versuche fehlschlagen … :wink:

Tipp, wenn du das Sortieren aufzeichnest schreib Excel immer
xlGuess rein egal ob du ausgewählt hast mit oder ohne
Überschrift.
Nicht begründet, reines Mißtrauen meinerseits Excel gegenüber,
ich ändere das dann immer auf xlNo oder xlYes. Safety first

-))

OK, werd’s mir abspeichern!

Prima, wieder was gelernt. Der Blattschutz wird nun auch deaktiviert, wenn der Antrag kopiert wird und anschließend eben wieder aktiviert. Also auch klar! Folgeproblem: Ich kann dann kein Häkchen mehr bei „männlich“ / „weiblich“ setzen … alle anderen Kästchen funktionieren aber.Ich gehe davon aus, dass es mit der Übertragung zum andern TabBlatt zu tun hat. *Grübel* (finde den code nicht)

Aber ist schon eine prima Sache hier… Werd’ ich bei bleiben!

Viele liebe Grüße

KK

Hallo Kerstin,

ja, wahnsinn! Klappt super dein Code!! Und keine Leerzeilen
mehr. Besten Dank.

sehr schön.

Irgendwo in Zeile 1950 o.ä. steht irgendwas drin was stört.
Jedenfalls wurde das so bei Usedrange.Address angezeigt.

Uups, jups mein Fehler. Ich wollte eine ursprüngliche Formel
mal sicherhaltshalber weiter unten eintragen, falls meine
Versuche fehlschlagen … :wink:

Das Problem bei Excel ist, es merkt sich alles, wenn du mal in Zelle G1959 irgendwas gemacht hast, was eingetragen, Zelle gefärbt oder sonstwas banales und dann das wieder löschst so hat sich Excle die zelle immer noch gemerkt.

D.h. als ich versuchte dir zu helfen habe ich aus dem einen Blatt
den benutzen Bereich, also UsedRange ins andere Blatt zu kopieren.
Weil es da Probleme gab habe ich mir im Code den Adressbereich des benutzen Bereiches anzeigen lassen, da stand halt A5:J1959

Und dagegen nützt es nix wenn du Zeile1959 mit „Entf“ einfach leerst.
Das geht nur wie gesagt, alles unter der letzten sichtbaren Zeile, also hier 33 markieren und dann nicht mit „Entf“ löschen sondern mit „Zeilen löschen“ wie geschrieben.

Prima, wieder was gelernt. Der Blattschutz wird nun auch
deaktiviert, wenn der Antrag kopiert wird und anschließend
eben wieder aktiviert. Also auch klar! Folgeproblem: Ich kann
dann kein Häkchen mehr bei „männlich“ / „weiblich“ setzen …
alle anderen Kästchen funktionieren aber.Ich gehe davon aus,
dass es mit der Übertragung zum andern TabBlatt zu tun hat.
*Grübel* (finde den code nicht)

Ich weiß nicht worauf du hinaus willst. Bei Blattschutz kannste keinen Blattschutz setzen, bzw. evtl. doch, je nach Excelversion gibt es da verschiedene Varianten vom Blattschutz.
Wenn es manuell in Excel nicht geht dann halt nur noch durch Vba, da kannste mit anfangs im Code mit Unprotect und am Ende mit protect dazwischen alles mit dem Blatt machen.

Aber ist schon eine prima Sache hier… Werd’ ich bei bleiben!

Bleiben reicht nicht. Bring dich bitte ein.
Sehe dir die Bretterliste links an, 200 Themengebiete, zugegeben im Brett Tabellenkalkulation werde ich dir eher helfen können als du mir, aber in anderen Brettern, davon gibts reichlich sieht daß entweder pari aus, also wir haben beide keine Ahnung von dem um was es da geht (185 Bretter) oder aber du hilfst mir weil du da Ahnung hast. Genau das ist für mich der frühere Grundgedanke von w-w-w.

Gruß
Reinhard

Grüezi KK

Also auch klar! Folgeproblem: Ich kann
dann kein Häkchen mehr bei „männlich“ / „weiblich“ setzen …
alle anderen Kästchen funktionieren aber.Ich gehe davon aus,
dass es mit der Übertragung zum andern TabBlatt zu tun hat.

Das hängt damit zusammen, dass ich die beiden Checkboxen mit Zellen verbunden habe.
Hebe in diesen beiden Zellen (welche das genau sind musst du mal noch suchen/prüfen, ich erinnere mich nicht mehr :wink:) den Schutz auf, dann klappt das Ganze auch wieder.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hi, Reinhard,

Das Problem bei Excel ist, es merkt sich alles, wenn du mal in
Zelle G1959 irgendwas gemacht hast, was eingetragen, Zelle
gefärbt oder sonstwas banales und dann das wieder löschst so
hat sich Excle die zelle immer noch gemerkt. …

Aha, gut zu wissen - danke.

Der Blattschutz wird nun auch
deaktiviert, wenn der Antrag kopiert wird und anschließend
eben wieder aktiviert. …

Ich weiß nicht worauf du hinaus willst. Bei Blattschutz
kannste keinen Blattschutz setzen, bzw. evtl. doch, je nach
Excelversion gibt es da verschiedene Varianten vom
Blattschutz.
Wenn es manuell in Excel nicht geht dann halt nur noch durch
Vba, da kannste mit anfangs im Code mit Unprotect und am Ende
mit protect dazwischen alles mit dem Blatt machen.

Ja, das meinte ich auch. Und so habe ich es auch gemacht. Über VBA den Code vorgesetzt … Hab’ ja schon etwas dazugelernt … :smiley:

Aber ist schon eine prima Sache hier… Werd’ ich bei bleiben!

Bleiben reicht nicht. Bring dich bitte ein.

Das will ich auch gerne tun … aber ihr seid ja so irre schnell … :smile: … bevor ich es gelesen habe, habt ihr es ja schon beantwortet… Aber gut, ich werde auch mal in den anderen „Brettern“ reinschaun (obwohl meine Stärke eher in EXCEL (bisher ohne MAKRO+VBA), WORD, PPT und OO liegt!)

Nochmals ganz vielen Dank. Du hast mir sehr geholfen!!

LG
Kerstin

Gruezi, lieber Thomas,

auch an dich ein dickes „DANKE SCHÖN“!! :smile: Das war super nett, was du da vollzogen hast …

Also auch klar! Folgeproblem: Ich kann
dann kein Häkchen mehr bei „männlich“ / „weiblich“ setzen …
alle anderen Kästchen funktionieren aber.Ich gehe davon aus,
dass es mit der Übertragung zum andern TabBlatt zu tun hat.

Das hängt damit zusammen, dass ich die beiden Checkboxen mit
Zellen verbunden habe.
Hebe in diesen beiden Zellen (welche das genau sind musst du
mal noch suchen/prüfen, ich erinnere mich nicht mehr :wink:) den
Schutz auf, dann klappt das Ganze auch wieder.

… und mit diesem Hinweis habe ich die Verknüpfung auch gefunden und das Problem beheben können !! Danke!

Ich freu’ mir so … :smiley: - Ihr seid spitze!

LG
Kerstin

Hallo kerstin,

Ich weiß nicht worauf du hinaus willst. Bei Blattschutz
kannste keinen Blattschutz setzen, bzw. evtl. doch, je nach
Excelversion gibt es da verschiedene Varianten vom
Blattschutz.

ich verbesser mich mal nur für’s Archiv.
„Bei Blattschutz kannste keinen Blattschutz setzen“
ist zwar sehr weit hergeholt gar nicht falsch aber ich meinte natürlich
„Bei Blattschutz kannste kein Häkchen setzen“
Ausnahme ist natürlich in höheren Versionen kann man den Blattschutz in Einzelpunkten so variieren daß z.B. Häkchen setzen erlaubt ist.

Gruß
Reinhard