Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Runtime Error Cells Select

Runtime Error Cells Select
18.03.2016 13:31:17
Martin
Hallo zusammen,
ich wollte heute auf die schnelle eine Datei zur Tätigkeitserfassung erstellen.
Die Datei soll so aufgebaut sein, dass das erste Blatt die Einträge aller Mitarbeiter umfasst. Auf diesem Blatt soll aber nicht gearbeitet, sondern nur ausgelesen werden. Für die Eintragung der Tätigkeiten gibt es x weitere Blätter, die jeweils nach der vierstelligen Personalnummer benannt sind. Um den Zeitaufwand der Aufschreibung zu minimieren, habe ich eine UserForm erstellt, die beim Öffnen der Datei aufgeht und die Personalnummer abfragt. Wurde diese eingegeben, so wird direkt das entsprechende Blatt geöffnet und die erste freie Zelle in der Spalte D selektiert. (A,B und C sind vorausgefüllt).
An sich tut die Funktion auch was sie soll, aber nur wenn die erste Tätigkeitszeile nicht leer ist. Wenn diese leer ist, erhalte ich den Laufzeitfehler 1004.
Könnt ihr mir bitte weiterhelfen. Habe die Datei angehängt. Probleme macht folgende Code _ Sequenz, speziell die Zeile Cells(Range("D4").End(xlDown).Row + 1, 4).Select

Private Sub SubmitID_btn_Click()
' Hilfsvariablen
Dim i As Integer
Dim bExists As Boolean
' Testen ob's ein Sheet mit dem Namen
' "Mein_Arbeits_Blatt" gibt und ...
For i = 1 To Sheets.Count
If Sheets(i).Name = UserID.Value Then
bExists = True: Exit For
End If
Next i
If bExists Then
' ... wenn ja: Anzeige auf dieses Blatt umschalten
Sheets(UserID.Value).Select
Cells(Range("D4").End(xlDown).Row + 1, 4).Select
Me.Hide
Else
' ... wenn nein: Fehlermeldung
Me.Hide
Sheets("Zusammenfassung").Select
MsgBox "Dieser Benutzer existiert nicht!"
End If
End Sub

https://www.herber.de/bbs/user/104451.xlsm

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Runtime Error Cells Select
18.03.2016 13:33:35
Rudi
Hallo,
Cells(rows.count,4).End(xlUp).Offset(1).Select
Gruß
Rudi

AW: Runtime Error Cells Select
18.03.2016 13:39:59
Daniel
Hi
alle Zellen unterhalb von D4 sind leer.
damit springt das End(xldown) zur letzten Zelle auf dem Blatt.
Da du dann diese Zeilennummer der letzten Zelle noch um 1 erhöhst, versuchst du dann eine Zelle anzusprechen die gar nicht vorhanden ist.
du müsstst also entweder prüfen, ob die Zelle D5 leer ist oder nicht:
if Range("D5") = "" Then
Range("D5").Select
Else
Range("D4").End(xldown).Offset(1, 0).Select
End if
oder die erste freie Zelle von unten anspringen:
Cells(Rows.count, 4).End(xlup).Offset(1, 0).Select

Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige