Nur einen Eintrag im Bereich zulassen

Bild

Betrifft: Nur einen Eintrag im Bereich zulassen
von: Lemmi
Geschrieben am: 03.08.2008 17:45:38

Hallo zusammen,
ich möchte in einer Zeile (4) Nur einen Eintrag zulassen!
Der Bereich soll von I4 bis AB 4 gehen
Wird ein Text oder eine Zahl eingetragen z. B. in J4 "Hallo" so wird diese wieder verschwinden wenn ein neuer Eintrag in K4 durchgeführt worden ist! (z. B Hi 123)
D.h. die vorhandenen Einträge werden immer bei einem Neueintrag gelöscht!
zur Info!
Die Auswahl möchte ich Vorzugsweise mit einem Drop- Down Menü durchführen, hierzu benötige ich aber keine Unterstützung!
Gruß
Lemmi

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Daniel
Geschrieben am: 03.08.2008 18:01:45
Hallo
das geht nur mit einem Makro im Modul des Tabellenblatts
dazu könntest du dieses Makro verwenden, es ist zwar etwas aufwendiger, würde aber auch funktionieren, falls ein grösserer Zellbereich in die Zeile kopiert würde
Gruß, Daniel


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range, rng2 As Range
Dim Eingabe As String
Set rng2 = Range("I4:AB4")
Set rng1 = Intersect(Target, rng2)
If Not rng1 Is Nothing Then
    Application.EnableEvents = False
    Eingabe = rng1(1).Formula
    rng2.ClearContents
    rng1(1).Formula = Eingabe
    Application.EnableEvents = True
End If



Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Lemmi
Geschrieben am: 03.08.2008 18:16:24
Hallo Daniel!
Heute ist Sonntag und die Antwort hat nicht einmal eine "Kaffeepause" auf sich warten lassen!
Einfach Super!
Gruß
Lemmi

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Lemmi
Geschrieben am: 03.08.2008 20:11:37
Hallo Daniel!
hab noch ne kleine Frage! Wie bringe ich die zwei Worksheet_Change zusammen!
... einen anderen Namen vergeben als Change (.. ist wenn ich das richtig sehe mit einer Funktion/ Prozedur verbunden) geht nicht!
Hmm..aber wie dann?


Private Sub Worksheet_Change(ByVal Target As Range)
   
 If Target.Count > 1 Then Exit Sub 'nicht bei Markierung mehrerer Zellen
 'If Application.CutCopyMode Then Exit Sub 'nicht beim Kopieren/Ausschneiden
   
 Application.EnableEvents = False
      'Veränderungen im Bereich G6:CZ1000 werden in derjewaligen Zeile 5 mit Datum  _
protokolliert
       If Not Intersect(Target, Range("G6:CZ1000")) Is Nothing Then
           'Cells(5, Target.Column) = Now   ' Ausgabe TT:MM:JJ und hh:mm:ss
           Cells(5, Target.Column) = Date   ' Ausgabe TT:MM:JJ
       End If
       Application.EnableEvents = True
 End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
 Dim rng1 As Range, rng2 As Range
 Dim Eingabe As String
 
 Set rng2 = Range("G4:AB4")
 Set rng1 = Intersect(Target, rng2)
 If Not rng1 Is Nothing Then
     Application.EnableEvents = False
     Eingabe = rng1(1).Formula
     rng2.ClearContents
     rng1(1).Formula = Eingabe
     Application.EnableEvents = True
 End If
Gruß
Lammi

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Daniel
Geschrieben am: 03.08.2008 20:46:36
HI
du kannst pro Sheet nur ein Worksheet_Change-Makro haben.
die beiden Makros müssen in einem zusammengefasst werden.
Gruß, Daniel

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Lemmi
Geschrieben am: 03.08.2008 20:51:36
Hallo Daniel,
wie bringe ich diese zusammen?
Kenne ich da zuwenig aus!
Könntest Du mich unterstützen?
Gruß
Lemmi

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Daniel
Geschrieben am: 03.08.2008 20:59:07
Hi
nja, du kopierst beide Codes untereinander und baust die Abbruch- und Ausfürbedingungen so um, daß sich beide Codes nicht in Quere kommen.
Insbesondere die IF..THEN EXIT SUB sollten durch richtig IF ... THEN...ELSE...END IF - Klammern ersetzt werden, weil ja der 2. Teil ja unabhängig vom ersten ausgeführt werden muss.
dann schaust du dir noch die Variablen ab, ob es da eventuell zu irgendwelchen Konfliken kommen kann und benennst u.U. noch die betreffenden Variablen um und fertig.
Gruß, Daniel

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Ramses
Geschrieben am: 03.08.2008 21:38:30
Hallo
probier mal


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng1 As Range, rng2 As Range
    Dim Eingabe As String
    Set rng2 = Range("G4:AB4")
    Set rng1 = Intersect(Target, rng2)
    If Not rng1 Is Nothing Then
        Application.EnableEvents = False
        Eingabe = rng1(1).Formula
        rng2.ClearContents
        rng1(1).Formula = Eingabe
        Application.EnableEvents = True
    End If
    If Target.Count > 1 Then Exit Sub 'nicht bei Markierung mehrerer Zellen
    Application.EnableEvents = False
    If Not Intersect(Target, Range("G6:CZ1000")) Is Nothing Then
        Cells(5, Target.Column) = Date ' Ausgabe TT:MM:JJ
    End If
    Application.EnableEvents = True
    End If
End Sub

Gruss Rainer

Bild

Betrifft: AW: Nur einen Eintrag im Bereich zulassen
von: Lemmi
Geschrieben am: 03.08.2008 21:52:05
Hallo Ramses,
hat geklappt ! Super!
Ein End If war allerdings in der Fehlermeldung! hab's weggenommen und alles war prima!
Danke!
Gruß
Lemmi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Nur einen Eintrag im Bereich zulassen"