Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Fehlercode mit automatisierter Zählung

Fehlercode mit automatisierter Zählung
16.11.2023 17:22:35
Tao
Hallo liebes Forumsmitglieder.

Tao hat ein Problem.
Eine VBA Programmierung lief in der alten Exceltabelle perfekt. Ich habe jetzt eine neue gebaut (Monatskalender) und dort bekomme ich mit derselben VBA einen Fehlercode "1004").

Das Makro soll in einer Spalte (Datum/Tag in einem Monat) alle bereits für diesen Tag eingetragenen Urlauber ermitteln (diese sind mit einem U markiert). Der erste EIntrag hat U1, der zweite U2, usw.
Wenn ich jetzt mit dem Makro den nächsten Urlauber eintrage, soll dieser fortlaufend automatisch sein U mit der entsprechenden Nr. bekommen.

meine VBA:

Sub Urlaub_Click()

Dim letzte As Long, Zahl As Long
Dim Bereich As Range, Zelle As Range

With ActiveCell
letzte = Cells(Rows.Count, 1).End(xlUp).Row - 5
Set Bereich = Cells(6, .Column).Resize(letzte, 1)
For Each Zelle In Bereich
If Left(Zelle, 1) = "U" And IsNumeric(Mid(Zelle, 2)) Then
Zahl = IIf(Zahl CLng(Mid(Zelle, 2)), CLng(Mid(Zelle, 2)), Zahl)
End If
Next
.Value = "U" & Zahl + 1

ActiveCell.Offset(0, 1).Select

End With
End Sub


Vielleicht könnte mir jemand helfen.

Lieben Gruß

P.S.: der Fehler wird bei: Set Bereich = Cells(6, .Column).Resize(letzte, 1) angezeigt

Thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlercode mit automatisierter Zählung
16.11.2023 19:52:26
Yal
Hallo Tao,

versuche mit
Sub Worksheet_Change(ByVal Target As Range)

Dim Zelle As Range
Dim Zahl As Long

If UCase(Target.Value) >"U" Then Exit sub 'Nur bei Eingabe von "U" reagieren
For Each Zelle In Target.EntireColumn(1).SpecialCells(xlCellTypeConstants) 'wir gehen davon aus, dass mind. eine Zelle nicht leer ist
If UCase(Zelle.Value) Like "U*" Then Zahl = WorksheetFunction.Max(CLng(Mid(Zelle.Value, 2)), Zahl)
Next
Application.EnableEvents = False 'weil sonst Ereignis "Worksheet_Change" ausgelöst wird
Target.Value = "U" & Zahl + 1
Application.EnableEvents = True
End Sub


Es ist ein Ereignis-Prozedure. Diese muss in dem Codepane des Blattes, wo diese Sub reagieren soll. Am einfachsten auf dem Reiter des Zielblattes rechtklicken und "Code anzeigen" auswählen. Dann bist Du an der richtige Stelle, um den Code zu copy-pasten.

VG
Yal
Anzeige
AW: Fehlercode mit automatisierter Zählung
16.11.2023 21:22:22
onur
Solange du nicht die Datei postest, ist das nur Herumraterei. So ein Code ohne die zugehörige Datei ist wertlos.
AW: Fehlercode mit automatisierter Zählung
16.11.2023 23:46:00
Tao
Hallo Onur

Danke für den Hinweis. Bin am Montag wieder zuhause. Muss die Datei nur ändern. Sind zu viele Namen und Nummern zu sehen,

Erstelle es neu.

Danke für die ANtwort
AW: Fehlercode mit automatisierter Zählung
16.11.2023 20:39:26
Tao
Hallo Yal

Ich habe auf meiner Userform im Endeffekt noch sehr viele Eintragsmöglichkeiten. Nur der Urlaub sollte nach Eingang fortlaufend gezählt werden.

So gehts es leider nicht,

Trotzdem Danke für deine Hilfe

Gruß Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige