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

code ändern!?

code ändern!?
26.02.2005 16:03:19
mayk
Hallo zusammen,
ich habe diesen code (danke noch einmal)aus diesem Forum
er läuft super.
Kan man diese Code auch so umschreiben das er für mehrere Zeilen steht?
wenn ich zum Beispiel A1:A100 eingebe funktioniert`s nicht.
Original Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a2]) Is Nothing Then Exit Sub
If Not IsEmpty([a2]) Then [a1] = [a2]
End Sub

Abgeänderter Code der nicht läuft:
[

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a2:v2]) Is Nothing Then Exit Sub
If Not IsEmpty([a2:v2]) Then [a1:v1] = [a2:v2]
End Sub
]
Mayk

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: code ändern!?
Reinhard
Hi Mayk,
meisnt du es so (ungetestet):

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a2:v2]) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
If Not IsEmpty(Target) Then Target.Offset(0, -1) = Target
End Sub

Gruß
REinhard
AW: code ändern!?
26.02.2005 16:21:03
mayk
nein, leider nicht, da die spalten für sich bleiben sollten A1=A2;B1=B2..usw.
leider gibt es auch eine fehlermeldung
gruß mayk
AW: code ändern!?
26.02.2005 16:28:38
mayk
etwa so, aber so läuft es nicht

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a2]) Is Nothing Then Exit Sub
If Not IsEmpty([a2]) Then [a1] = [a2]
End Sub


If Intersect(Target, [b2]) Is Nothing Then Exit Sub
If Not IsEmpty([b2]) Then [b1] = [b2]

End Sub
Anzeige
AW: code ändern!?
26.02.2005 16:50:02
Nepumuk
Hi,
so geht's:


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [a2:v2]) Is Nothing Then
        If Not IsEmpty([a2:v2]) Then
            Application.EnableEvents = False
            [a1:v1] = [a2:v2].Value
            Application.EnableEvents = True
        End If
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: nicht ganz
26.02.2005 16:59:59
mayk
leider nicht wenn ich den wert in a2 lösche wird auch a1 gelöscht!?
gruß mayk
AW: nicht ganz
26.02.2005 17:07:39
Nepumuk
Hallo,
es war nicht ganz klar, dass du nur einzelne Zellen übertragen willst. Dann so:


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [a2:v2]) Is Nothing Then
        If Trim$(Target.Text) <> "" Then
            Application.EnableEvents = False
            Cells(1, Target.Column).Value = Target.Value
            Application.EnableEvents = True
        End If
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: so ist es, herzlichsten Dank! oT.
26.02.2005 18:19:11
mayk
AW: Nepumuk ?
26.02.2005 17:04:57
aley
Ne frage an Nepumuk dazu.
Was bedeuten die zeichen in VBA ? []
AW: Nepumuk ?
26.02.2005 17:09:12
Nepumuk
Hi,
[a1:v1] ist eine alte Syntax von Range("A1:V1").
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige