Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

If-Abfrage

If-Abfrage
24.07.2003 10:20:30
Franz W.
Hallo Fachleute,
ich habe eine Frage zu einer If-Abfrage: der auf die Abfrage folgende Code darf nur laufen, wenn die ActiveCell nicht in den ersten beiden Zeilen oder nach der letzten gefüllten Zeile liegt. Meine Versuche bislang:
rw = ActiveCell.Row
...
...
If .Range("A65536") = "" Then LoLetzte = .Range("A65536").End(xlUp).Row Else MsgBox "Keine Zeile mehr frei!", 16
If rw <= 2 Or rw > LoLetzte Then Exit Sub
...
...
Leider tut er aber auch in den dazwischen liegenden Zeilen nichts. Könnt Ihr mir bitte helfen, wie ich das schreiben muss?
Danke im Voraus
Grüße
Franz

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If-Abfrage
24.07.2003 10:35:41
Hajo_Zi
Hallo Franz
also bei mir läuft er fehlerfrei

Sub Franz()
Dim rw As Long
Dim Loletzte As Long
With ActiveSheet
rw = ActiveCell.Row
Loletzte = 65536
If .Range("A65536") = "" Then Loletzte = .Range("A65536").End(xlUp).Row Else MsgBox "Keine Zeile mehr frei!", 16
If rw <= 2 Or rw > Loletzte Then Exit Sub
MsgBox "Test"
End With
End Sub

Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
Kann nicht antworten - Software-Error
24.07.2003 11:01:17
Franz W.
AW: Testbeitrag
24.07.2003 11:11:08
Hajo_Zi
Hallo Franz
es gab mal zeitweise das Problem das die Version nicht übernommen wurde, das solte aber gelöst sein, lt. Hans
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Probiers noch mal
24.07.2003 11:30:10
Franz W.
Hallo Hajo,
Vielen Dank für Deine Antwort. Aber komisch ist es schon. Schreibe ich nur (so wie gestern von Dir bekommen :-))):
If rw <= 2 Then
dann macht er's in allen ZEilen außer den Zeilen 1 und 2, das klappt. Aber eben auch unterhalb von LoLetzte. Das wollte ich eben jetzt ausschließen. Und mit: If rw <= 2 Or rw > LoLetzte Then Exit Sub, macht er es in keiner Zeile mehr.
Hier mal der ganze Code, vielleicht ist irgendwo noch was drin, was ich nicht beachtet habe:

Sub ins_Archiv()
Dim Wb As Workbook
Dim Found As Range, sSearch As String
Dim LoLetzte&    '(As Long)
Dim ReNr$, ReDatum As Date, AuftrNr%, AuftrDatum As Date, _
KdNr%, KdNName$, KdVName$, Betrag@, bezahlt As Date
Dim rw As Long, varRueck$
Dim Ws As Worksheet
Dim jZahl As Integer
jZahl = Year(Date)
rw = ActiveCell.Row
With Workbooks("RECHNUNGEN_EH.xls").Worksheets("bez" & jZahl)
If .Range("A65536") = "" Then LoLetzte = .Range("A65536").End(xlUp).Row Else MsgBox "Keine Zeile mehr frei!", 16
End With
If rw <= 2 Or rw > LoLetzte Then
ActiveSheet.Protect
MsgBox "Es muss ein Kunde ausgewählt sein!", 16
Exit Sub
End If
If Cells(rw, 10) = "" Then
MsgBox "Es ist noch kein Bezahldatum eingetragen!", 16
Exit Sub
End If
ReNr = Cells(rw, 1)
ReDatum = Cells(rw, 2)
KdNr = Cells(rw, 3)
AuftrNr = Cells(rw, 4)
AuftrDatum = Cells(rw, 5)
KdNName = Cells(rw, 6)
KdVName = Cells(rw, 7)
Betrag = Cells(rw, 8)
bezahlt = Cells(rw, 10)
varRueck = MsgBox("Soll ' " & KdNName & ", " & KdVName & " " _
& " ' im Archiv zur letzten Ruhe gebettet werden?", 36, "Kunden archivieren")
If varRueck = vbNo Then
MsgBox "Ja nacha hoid ned...!", 48, "Kunden löschen"
Exit Sub
End If
MsgBox "Er ruhe sanft.", 48, "Kunden löschen"        ' muss raus !!!!!!!!
With Workbooks("RECHNUNGEN_EH.xls").Worksheets("Offene")
.Unprotect
.Range(Cells(rw, 1), Cells(rw, 10)).Delete shift:=xlUp
.Protect
End With
Application.ScreenUpdating = False
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name = "bez" & jZahl Then
GoTo NoNewSht
End If
Next
Sheets("bez" & jZahl - 1).Select
Sheets.Add
ActiveSheet.Name = "bez" & jZahl
NoNewSht:
With Workbooks("RECHNUNGEN_EH.xls").Worksheets("bez" & jZahl)
'    .Activate      'Eigentlich nicht nötig
.Unprotect
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
.Cells(LoLetzte, 1) = ReNr
.Cells(LoLetzte, 2) = ReDatum
.Cells(LoLetzte, 3) = KdNr
.Cells(LoLetzte, 4) = AuftrNr
.Cells(LoLetzte, 5) = AuftrDatum
.Cells(LoLetzte, 6) = KdNName
.Cells(LoLetzte, 7) = KdVName
.Cells(LoLetzte, 8) = Betrag
.Cells(LoLetzte, 9) = bezahlt
.Protect
End With
Range("A2").Select
Worksheets("Offene").Activate
End Sub

Vielen Dank schon mal fürs Durchschauen und Grüße
Franz

Anzeige
AW: Probiers noch mal
24.07.2003 11:33:15
Hajo_Zi
Hallo Franz
ich habe Dir schon per Mail geantwortet.
Für alle anderen
"Hallo Franz
für Ausnahmen ist es zuläsig, ansonsten hätte ich sie ja nicht öffentlich machen brauchen. Dein Code läuft bei mir Fehlerfrei im besagten Teil.
With Workbooks("RECHNUNGEN_EH.xls").Worksheets("bez" & jZahl)
' FEHLER
' ist Zeile A65536 belegt hat LoLetzte kein Wert
LoLetzte = 65536
vielleicht wird das Ende nicht richtig erkannt. Strg+Ende um festzustellen was Excel als Ende ansieht."
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Probiers noch mal
24.07.2003 11:36:37
Franz W.
Hallo Hajo,
danke erstmal, muss leider weg, gib Dir später wieder Bescheid.
Danke und Grüße
Franz

Nochmal ne Antwort
25.07.2003 07:03:32
Franz W.
Hallo Hajo,
hab Dir gestern noch geantwortet und hab jetzt grade festgestellt, das meine Antwort nicht in der Forumsliste steht (ist gestern schon mal passiert). Vielleicht geht's ja heute wieder und darum jetzt noch mal mein Feedback zu obigem Problem: habe den Fehler gefunden: bin unkontrolliert zwischen zwei Blättern hin- und hergesprungen und war letztendlich im falschen Blatt. Da kann's ja nicht gehen. Dein Hinweis auf den Fehler bei LoLetzte war der entscheidende Tipp. Daran lag's zwar diesmal nicht, aber ich habe daraufhin mal geprüft, was in loLetzte überhaupt drin steht, und dabei bin ich dann draufgekommen. Hab den Code jetzt bereinigt und jetzt klappt's.
Danke für Deine Hilfe und Grüße
Franz

Anzeige
Fehler gefunden
24.07.2003 13:26:43
Franz W.
Hallo Hajo,
habe den Fehler gefunden, bin unkontrolliert zwischen zwei Blättern hin- und hergesprungen und war im falschen Blatt. Hab den code jetzt bereinigt und jetzt klappts. Aber Dein Hinweis auf den Fehler mit LoLetzte war das Entscheidende: daraufhin hab ich mal überprüft, was LoLetzte denn für einen Wert hat, und dabei bin ich dann drauf gekommen.
Vielen Dank und Grüße
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige