Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

"Urlaub" mit Rechtsklick eintragen erweitern
#11
Hallo,

ich habe den Code in "DieseArbeitsmappe" eingefügt. Funktioniert aber nicht.

Beispiel:
Im Blatt Sep steht in I4 6 (Resturlaub).
Ich trage jetzt im Bereich C5:C35 6 x Urlaub mit Rechtsklick ein. Wenn ich einen weiteren Urlaubstag einfügen will, kommt richtig der Hinweis "Max. Urlaubstage erreicht" und es wird nichts eingetragen.
Gehe ich nun zum Blatt Okt, ist I4 leer. Es sollte aber "0" drinstehen!

Mache ich was falsch?
Antworten Top
#12
Hallo,

Zitat:ich habe den Code in "DieseArbeitsmappe" eingefügt. Funktioniert aber nicht.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

... ich habe ja schon ein Nasenfahrrad auf der Nase, aber von DieseArbeitsmappe
kann ich keinen Eintrag finden. Ich lese immer nur Workbook_

Im Übrigen: snb soll nicht umsonst geschrieben haben, Verzichte auf verbundene Zellen.
Das gibt nur unnötigen Ärger.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#13
Sorry, aber meine vb-Kenntnisse sind nicht gut. Ich verstehe das nicht. Ich weiß, dass ich nichts weiß.
Trotzdem danke für die Hilfe

Gruß ossi
Antworten Top
#14
Hallo,

Zitat:Sorry, aber meine vb-Kenntnisse sind nicht gut. Ich verstehe das nicht. Ich weiß, dass ich nichts weiß.
... und was heißt das?
Weißt Du nicht, wo das hin muß? Dann würde es nämlich helfen, jemanden zu fragen.
"DieseArbeitsmappe" hast Du doch schon gefunden. da drunter befindet sich eine Auflistung
der Worksheets(Blattname) die in dieser Datei sind. Irgendwo steht da der Name des
Blattes, auf dem dieses Makro arbeiten soll. Dorthin kopierst Du den Code und löscht ihn
in DieseArbeitsmappe. Und dann ... laß' Dich überraschen  :18:
Speichern nicht vergessen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#15
Smile 
Danke für die tolle Erklärung  Thumps_up
 
Also:

Ich habe jetzt in den Blättern Tabelle 12 (Sep) und Tabelle 13 (Okt) jeweils auf der rechten Hälfte unter Worksheet dies stehen:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
   Dim RNG As Range, UMax As Integer
   
   Set RNG = Range("C5:C35")
   
   UMax = Range("I4")
   'Maximale Urlaubstage
       
   ActiveSheet.Unprotect
   If Not Intersect(Target, RNG) Is Nothing Then
       Cancel = True
       
       If Target = "" Then
           Select Case Target.Column
               Case 3
                   If WorksheetFunction.CountIf(RNG, "Urlaub") < UMax Then
                       Target = "Urlaub"
                       Target.Font.ColorIndex = 50
'                       Target.Offset(0, 6) = CDate("1:58")
                   Else
                       MsgBox "Max. Urlaubstage erreicht!", vbExclamation, "Hinweis"

                   End If
           End Select
       Else
           Target = ""
'           Target.Offset(0, 6).ClearContents
           Target.Font.ColorIndex = xlAutomatic
       End If
   End If
   ActiveSheet.Protect
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  If Target.Address = "$I$4" And Len(Sh.Name) = 3 Then Sh.Range("C5:C35").Validation.Modify 3, , , Join([transpose(row(offset(A1,,,I4)))], ",")
End Sub

Im Tabellenblatt Sep steht in I4 6 - gebildet aus der Formel (=Aug!I4-Aug!G36) - und im Bereich C5:C35 steht 6 x "Urlaub".
Wechsle ich jetzt zum Blatt Okt steht in I4 - gebildet aus der Formel (=Sep!I4-Sep!G36) nichts. Die Zelle ist leer. Formatiert ist die Zelle mit "Standard".
Die Null zeigt sich nicht! Habe ich was falsch gemacht)

LG ossi
Antworten Top
#16
Hallo,

1. Ich kenne den Istzustand Deiner Datei nicht. Da ich annehme, daß die in #4 von Dir gepostete
Datei sich inzwischen ziemlich verändert hat, lade bitte die Neue hoch.


2. zwei Mal wurdest Du aufgefordert, die Verbunden Zellen rauszuschmeißen. Bisher gab es von Dir
keine Reaktion dazu. Darum jetzt hier meine direkte Frage: Sind diese Zellverbünde entfernt worden?
Wenn nicht, dann werde ich Dir nicht weiterhelfen, nicht weil ich damit nicht umgehen kann, sondern
weil ich keine Lust habe, mich bis Weihnachten mit diesem "von Dir selbst verursachten Problem" zu
beschäftigen.

Abgesehen davon, daß ich, und im Übrigen nicht nur ich, Verbundene Zellen für so überflüssig wie einen
Kropf halte, haben sie in den Händen von Anfängern gar nichts zu suchen und machen nur Ärger.
Das, was man mit den Verbundenen Zellen erreichen will, nämlich dem Einsatz aus optischen Gründen,
kann man übrigens auch mit anderen Mitteln erreichen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#17
Wink 

.xls   Stundennachweis_Taxi-Streib_2019.xls (Größe: 715 KB / Downloads: 5)

Hallo,

ich lade jetzt mal meine aktuelle Mappe hoch.
Verbundene Zellen sind A4:D4. Das muss aber sein, damit der komplette Monatsname mit Jahr angezeigt wird. Ist dies dafür verantwortlich, dass Null in I4 nicht angezeigt wird?
Wenn ich die verbundenen Zellen aufhebe, wird in A4 nur ## angezeigt!

Das Makro habe ich in die Arbeitsblätter Jan-Dez noch nicht eingefügt.

Gruß ossi
Antworten Top
#18

.xls   Muster 4.xls (Größe: 718 KB / Downloads: 4)

Upps!

Ich habe eine falsche Mappe hochgeladen! Sorry.
Hier nun die richtige.

LG ossi
Antworten Top
#19
Hallöchen,

Du hast in den Optionen die Anzeige von Nullwerten ausgeschalten. Wenn das wegen anderer Zellen erforderlich ist, müsstest Du eventuell die Zahl in I4 in einen Text wandeln:

=TEXT(Sep!I4-Sep!G36;"0")
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • ossi
Antworten Top
#20
Hallo André,

musste weg und bin erst jetzt wieder zurück.

"Warum in die Ferne schweifen, das Gute liegt so nah'" :97: 

Die Umwandlung in TEXT war die Lösung und funktioniert bestens.

Danke und liebe Grüße

ossi
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste