Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sheet.Protect wird nicht ausgeführt

Sheet.Protect wird nicht ausgeführt
KlausF
Hallo Forum,
allen ein Frohes Neues Jahr.
Habe hier ein merkwürdiges Problem.
https://www.herber.de/bbs/user/78175.xls
Über Worksheet_BeforeDoubleClick wird ein definierter Bereich mit Doppelklick auf
die Spaltenköpfe in Zeile 3 sortiert. Das klappt alles sehr gut. Dazu wird am Anfang
Sheet.Unprotect aufgerufen und am Ende das Blatt wieder geschützt. Aber:
Das Makro führt den Schutz-Befehl nicht mehr aus. Auch die letzte Zeile
Range("A1").Select wird nicht mehr ausgeführt. Warum nur?
Danke für Antworten
Klaus
Option Explicit
Dim lngC As Long, blnOrder As Boolean
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Row  3 Or Target.Column > 40 Then Exit Sub '(40 = AN)
'SORTIEREN NACH SPALTENKOPF:
'_____________________________________________________
Cancel = True
If Target.Column = lngC Then
blnOrder = IIf(blnOrder = 0, -1, 0)
Else
lngC = Target.Column
blnOrder = -1
End If
Dim LAST As Long
LAST = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
If LAST 

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Gelöst, aber neue Frage
02.01.2012 12:40:02
KlausF
Hab's jetzt rausbekommen. In Spalte IV habe ich die Funktion ExtractNumbers genutzt.
Und in Spalte Z gibt es einen Bezug in der Formel und in der Bedingten Formatierung.
Das scheint Excel nicht zu schmecken.
Hat jemand eine Idee, wie ich das Problem umschiffen kann?
Calculation an- und abschalten habe ich eben probiert, hat aber auch nicht funktioniert.
Gruß
Klaus
AW: auch gelöst
02.01.2012 12:56:01
KlausF
... habe einfach die Formel von Spalte Y entsprechend angepasst
und in IV eingesetzt und die Funktion rausgeschmissen ...
Danke an alle fürs Mitdenken!
Und vielleicht eine allgemeine Frage (ist aber nicht mehr so wichtig):
Passiert so etwas allgemein immer mit eingebundenen Funktionen?
Gruß
Klaus
Anzeige
Monsterformel
02.01.2012 13:13:46
Rudi
Hallo,
Y geht erheblich kürzer.
 XYZ
2Geburtstage  
3DatumNächster ...Feier:
401.03. (1966)in 59 Tagen46.
529.01. (1999)in 27 Tagen13.
631.05. (1963)in 150 Tagen49.

ZelleFormatWert
Y4"in "0" Tagen"59

ZelleFormel
Y4=DATUM(JAHR(HEUTE())+(TEXT(X4;"JJMMTT")<TEXT(HEUTE();"JJMMTT"));MONAT(X4);TAG(X4))-HEUTE()
Z4=WENN(X4="";"";DATEDIF(X4;HEUTE()+Y4;"y")& ".")

Gruß
Rudi
Anzeige
AW: Monsterformel
02.01.2012 13:56:23
KlausF
Hallo Rudi,
erst einmal Danke für die (lehrreiche) verkürzte Formel. Sie hat allerdings einen gravierenden Nachteil:
Ist das Datum vorüber zählt sie im Minusbereich: -in 1 Tagen"
Außerdem stimmt dann auch die bedingte Formatierung nicht mehr, die das nächste Datum zeigen soll.
Ich bin aber mit der augenblicklichen und jetzt funktionierenden Lösung durchaus glücklich.
Herzlichen Gruß
Klaus
nächster Geburtstag
02.01.2012 15:48:01
Rudi
Hallo,
stimmt.
Nehmen wir JJ weg.
 XYZ
2Geburtstage  
3DatumNächster ...Feier:
401.03. (1966)in 59 Tagen46.
501.01. (1999)in 365 Tagen14.
631.05. (1963)in 150 Tagen49.

ZelleFormatWert
Y4"in "0" Tagen"59

ZelleFormel
Y4=DATUM(JAHR(HEUTE())+(TEXT(X4;"MMTT")<TEXT(HEUTE();"MMTT"));MONAT(X4);TAG(X4))-HEUTE()
Z4=WENN(X4="";"";DATEDIF(X4;HEUTE()+Y4;"y")& ".")

Gruß
Rudi
Anzeige
AW: nächster Geburtstag
02.01.2012 16:28:18
KlausF
... und Dir den Preis für die wohl kürzeste Formel :)
Danke nochmal, Rudi
Gruß
Klaus
AW: auch gelöst
02.01.2012 13:42:33
Christian
hi Klaus,
gutes neues Jahr
hmh... klar, geht auch "von hinten durch die Brust ins Auge"...
Da baust du dir den String erst in einer sehr unkonfortablen Formel zusammen, um anschließend dessen Zahlenwert wieder mit einer VBA-Funktion in einer Hilfsspalte zu extrahieren...
Bei "Excel-Gut" hast du dich da wohl ziemlich verrannt.
Gruß
Christian
PS: die Beteiligten werden sich sicher dafür bedanken, dass du deren Mailadresse im Internet veröffenlichst.
AW: auch gelöst
02.01.2012 13:51:33
KlausF
Hallo Christian,
die Mailadressen sind selbstverständlich nur Fakes.
Und verrannt würde ich das nicht nennen. Die Monsterformal hat schon ihre Bedeutung (siehe Antwort
an Rudi) und die Funktion hab ich aus dem Netz. Dachte, es wäre einfacher(übersichtlicher), sie zu nutzen ...
Gruß
Klaus
Anzeige
AW: auch gelöst
02.01.2012 14:35:15
Christian
na dann zB. in Y4:
=WENN(X4="";"";WENN(DATUM(JAHR(HEUTE());MONAT(X4);TAG(X4))<HEUTE();DATUM(JAHR(HEUTE())+1;MONAT(X4) ;TAG(X4))-HEUTE();DATUM(JAHR(HEUTE());MONAT(X4);TAG(X4))-HEUTE()))
Das geht aber bestimmt auch noch kürzer...
Deine Bedingte Formatierung in X4 bezieht sich ja auf die Hilfsspalte (IV), die du jetzt nicht mehr brauchst.
Und was Formeln aus dem Netz betrifft: wie man sieht steht hier auch viel Mist. Meine erste Adresse ist hier immer excelformeln.de - alle andere würde ich mit Vorsicht genießen (somit auch die grade von mir genannte - wie gesagt will ich nicht ausschließen, dass dies noch eleganter zu lösen ist)
Gruß
Christian
PS: bzgl Mail-AD's - ich hab kein Interesse daran - die Spamer werden aber bestimmt in den nächsten Jahren noch darauf anspringen.
Anzeige
AW: auch gelöst
02.01.2012 15:17:36
KlausF
Hallo Christian,
hab's jetzt so eingebaut, ist die bessere Lösung ...
Danke für Deine Hartnäckigkeit.
Klaus

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige