Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

Zelleingabe überwachen (bestimmter Bereich)

Betrifft: Zelleingabe überwachen (bestimmter Bereich) von: urmila
Geschrieben am: 13.08.2014 10:25:46

Hallo,

ich komme nicht weiter und hoffe ihr könnt mir weiterhelfen.
Ich habe zwar gefunden wie man die Zelle überwacht oder eine ganze Zeile oder Spalte, doch ich würde gerne einen bestimmten Bereich überwachen.

Meine Tabelle würde z.B. so aussehen:

A1 = Startzeile, diese darf nicht berücksichtigt werden und soll immer leer bleiben
A2 = Endzeile, bleibt immer leer und darf nicht berücksichtigt werden

Zelle A1 und A2 habe ich umbenannt, A1 = "von" und A2 = "bis"

Trage ich jetzt einen Wert in die Zelle A2 bzw. "bis" ein, sollte eine Zeile zwischen den Zellen "von" und "bis" eingefügt werden. Die Zelle "bis" bleibt frei und darf nie beschrieben werden

Wenn ich einen Wert löschen sollte, sollte dann die aktuelle Zeile gelöscht werden.

Es dürfen jedoch nicht die Zeilen gelöscht werden, da wo die Zellen "von" und "bis" sind (also in obigen Fall die A2 und A2)

Ein Beispiel:
A1 = immer leer (Name der Zelle: von) und schreibgeschützt
A2 = immer leer (Name der Zelle: bis)

trage ich jetzt irgendeinen Wert z.B. "Test" in Zelle A2 ein dann soll es so aussehen:
A1 = weiterhin leer (Name der Zelle: von) und schreibgeschützt
A2 = "Test"
A3 = "weiterhin leer (Name der Zelle: bis)

Vielen Dank schon im voraus
LG
Urmila

  

Betrifft: AW: Zelleingabe überwachen (bestimmter Bereich) von: Frank
Geschrieben am: 13.08.2014 19:45:43

Hallo Urmila,

Diesen Code ins Worksheet - Change - Ereignis kopieren (den automatisch generierten Frame kannst Du löschen, da er hier mit dabei ist)

Private Sub Worksheet_Change(ByVal Target As Range)
B = Cells(1, 1).Value
If Target.Column = 1 And Target.Row > 1 Then
    If B < 1 Then
        Cells(1, 1).Value = 1
        A = ThisWorkbook.Names("bis").RefersTo
        Z_bis = Right(A, Len(A) - InStr(1, A, "$A$") - 2)
        Wert = Target.Value
        If Z_bis > 2 Then
            Select Case Wert
                Case ""
                ThisWorkbook.Names("bis").Delete
                Cells(Z_bis, 1).Delete shift:=xlUp
                ThisWorkbook.Names.Add Name:="bis", RefersToR1C1:="=Tabelle1!R" & Z_bis - 1 & " _
C1"
                Case Else
                Cells(Target.Row, 1).Insert shift:=xlDown
                Cells(Target.Row - 1, 1).Value = Wert
                Cells(Z_bis + 1, 1).Value = ""
            End Select
        Else
            Cells(Target.Row, 1).Insert shift:=xlDown
            Cells(Target.Row - 1, 1).Value = Wert
            Cells(Z_bis + 1, 1).Value = ""
        End If
        Cells(1, 1).Value = ""
    End If
End If
End Sub

Grüsse,
Frank


  

Betrifft: AW: Zelleingabe überwachen (bestimmter Bereich) von: urmila
Geschrieben am: 14.08.2014 15:38:33

Hallo Frank,


vielen vielen lieben und herzlichen Dank....funktionert bestens (habe noch bisschen erweitert) und einfach suuuuper :)

LG
Urmila


 

Beiträge aus den Excel-Beispielen zum Thema "Zelleingabe überwachen (bestimmter Bereich)"