Probleme beim verrutschen einer Zeile

Bild

Betrifft: Probleme beim verrutschen einer Zeile von: Moni
Geschrieben am: 10.02.2005 21:45:28

Hallo an alle!

Ich habe beim folgenden Code ein Problem.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   Dim lgZeile As Long
   Dim lgPruef As Long
   Dim bCount As Byte
   If Target.Column > 8 And Target.Column < 16 Then
      If Target.Row > 21 Then
         Application.EnableEvents = False
         On Error GoTo errHand
         For bCount = 8 To 16
            lgPruef = Cells(Target.Row, bCount).End(xlUp).Row + 1
            If lgPruef > lgZeile Then lgZeile = lgPruef
         Next
         If lgZeile < 21 Then lgZeile = 21
         If Target.Row <> lgZeile Then
            Rows(Target.Row).Cut
            Rows(lgZeile).Insert 'Shift:=xlDown
            Cells(lgZeile, Target.Column).Select
         End If
      End If
   End If
errHand:
   Application.EnableEvents = True
End Sub


Dieser Code sortiert die letzte eingegebene Zeile ab Zeile 21 von oben nach unten. Ich versuche eine Bedingung einzufügen, dass NICHTS sortiert hinzukriegen, wenn in der daraufhin folgenden Zeile (nur Spalte H-P) irgendeine Zahl steht. Leider ohne Erfolg :(

Danke
Bild


Betrifft: AW: Probleme beim verrutschen einer Zeile von: Moni
Geschrieben am: 10.02.2005 22:15:18

Übrigens: Dieser Code stammt von PeterW!!!


Bild


Betrifft: AW: Probleme beim verrutschen einer Zeile von: PeterW
Geschrieben am: 10.02.2005 23:02:15

Hallo Monika,

du gibst wohl nie auf. Hier in deinem Posting sehe ich einen Logikfehler. In welchen Spalten werden Eingaben gemacht, 8 bis 16? Dann muss es heißen:
If Target.Column > 7 And Target.Column < 17 Then

Gruß
Peter


Bild


Betrifft: AW: Probleme beim verrutschen einer Zeile von: Mon
Geschrieben am: 11.02.2005 10:33:12

hallo Peter!

Naja, Logikfehler würde ich nicht bezeichnen. Es ist ganz komisch, aber in diesem Fall setzt er die Eingabe wirklich in Zeile 21. Ansonsten in Zeile 20 und das steht doch gar nicht in deinem Code.

Kann man nur diese Bedingung schaffen, dass rein gar nix passiert, wenn in der folgenden Zeile irgendwas steht (nur Spalte H-P)? Dann wäre das Problem gelöst und ich gebe auf ;)

Danke für deine Mühe,

Liebe Grüße Monika


Bild


Betrifft: AW: Probleme beim verrutschen einer Zeile von: PeterW
Geschrieben am: 11.02.2005 11:48:53

Hallo Monika,

am Anfang des Codes bau eine Prüfung ein (ist nicht getestet):
If Target.Column > 7 And Target.Column < 17 Then
If Target.Row > 21 Then
If WorksheetFunction.CountA(Range("H" & Target.Row + 1 & ":P" & Target.Row + 1)) > 0 Then Exit Sub'dies ist die zusätzliche Zeile!

Gruß
Peter


Bild


Betrifft: AW: Probleme beim verrutschen einer Zeile von: Monika
Geschrieben am: 11.02.2005 17:07:19

hallo Peter!

Danke für deinen Script. Es funktioniert nicht ganz aber so gehts, wie gewünscht:

Wenn ich aber + 1 auf - 1 setze, dann ist das genau das Richtige für mich.

Vielen Dank für deine Mühe!!!!!!

Viele liebe Grüße
Monika


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bildlaufleiste bei Blattschutz aktiv"