Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Abänderung VBA-Code

Abänderung VBA-Code
10.10.2006 18:07:22
Bernd
Hallo,
folgenden VBA-Code würde ich gerne abändern, sodass die Formel in Spalte I auch eingetragen wird, wenn ein Inhalt in Spalte B kopiert wurde (also nicht nur bei einem neu eingegebenen Text)

Private Sub Worksheet_Change(ByVal Target As Range)
'Fügt Formel zur Ermittlung des Gruppe in Spalte I:I ein, wenn in Spalte B ein neuer Name geschrieben wurde:
If Target.Column = 2 Then
On Error GoTo Punkt_A
Application.EnableEvents = False
If Target <> "" Then
Target.Offset(0, 7).FormulaLocal = _
"=wenn(istzahl(E" & Target.Row & ");SVERWEIS(A" & Target.Row & ";gruppenliste;2);"""")"
' Formel: =WENN(ISTZAHL(E1);SVERWEIS(A1;gruppenliste;2);"")
Else
Target.Offset(0, 7).ClearContents
End If
End If
Punkt_A:
Application.EnableEvents = True
End Sub

Gruss
bernd

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

Betreff
Datum
Anwender
Anzeige
AW: Abänderung VBA-Code
10.10.2006 18:19:04
Reinhard
Hi Bernd,
Change-Ereignis wird doch ausgelöst wenn du was reinkopierst!?
Das Problem wa sdein Code hat,ist, dass es einen Fehler gibt wenn mehrere Zellen reinkopiert werden *mutmaß*
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Abänderung VBA-Code
10.10.2006 18:53:46
Bernd
Und, wie ließe sich das korrigieren?`
gruss
bernd
AW: Abänderung VBA-Code
14.10.2006 16:04:57
Reinhard
Hi Bernd,
ungetestet, und du kannst nur eine von beiden Subs haben, also andere auskommentieren/umbenenne beim Testen.
Und beachte den vierten Parameter bei Sverweis!
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range
Set Bereich = Intersect(Target, Columns(2))
If Bereich Is Nothing Then Exit Sub ' in B wurde nichts geändert
On Error GoTo Fehler
Application.EnableEvents = False
For Each Zelle In Bereich
Zelle.Offset(0, 7).ClearContents
' Formel: =WENN(ISTZAHL(E1);SVERWEIS(A1;gruppe;2);"")
If Zelle.Value <> "" Then Zelle.Offset(0, 7).FormulaLocal = _
"=wenn(istzahl(E" & Target.Row & ");SVERWEIS(A" & Target.Row & ";gruppe;2);"""")"
Next Zelle
Fehler:
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range
Set Bereich = Intersect(Target, Columns(2))
If Bereich Is Nothing Then Exit Sub ' in B wurde nichts geändert
On Error GoTo Fehler
Application.EnableEvents = False
For Each Zelle In Bereich
Zelle.Offset(0, 7).ClearContents
' Formel: =WENN(ISTZAHL(E1);SVERWEIS(A1;gruppe;2);"")
If Zelle.Value <> "" Then Zelle.Offset(0, 7).Value = Application.WorksheetFunction.if(IsNumber(Range("E" & Zelle.Row)) _
, Application.WorksheetFunction.VLookup(Range("A" & Target.Row), Range(gruppe), 2, 0), "")
Next Zelle
Fehler:
Application.EnableEvents = True
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Abänderung VBA-Code
11.10.2006 20:21:14
Gerd
So ?
If Target.Column = 2 And Target.Count= 1 Then
.....
Gruß
Gerd
AW: Abänderung VBA-Code
12.10.2006 11:37:51
Bernd
Hallo Gerd,
nein ändert leider auch nichts. Jemand anderes vielleicht noch eine Idee, wie es gehen könnte?
Gruss
bernd
AW: Abänderung VBA-Code
12.10.2006 13:18:20
Waltraud
Probier mal anstelle von
If Target.Columns.Count + Target.Column &gt= 2 Then
If (Target.Column = 2 And Target.Columns.Count = 1) Or (Target.Column &lt= 2 And Target.Columns.Count &gt= 2) Then
AW: Abänderung VBA-Code
12.10.2006 14:09:21
Bernd
Wie jetzt genau?
Anstelle von was was?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count + Target.Column >= 2 Then
If (Target.Column = 2 And Target.Columns.Count = 1) Or (Target.Column <= 2 And Target.Columns.Count >= 2) Then
On Error GoTo Punkt_A
Application.EnableEvents = False
If Target <> "" Then
Target.Offset(0, 7).FormulaLocal = _
"=wenn(istzahl(E" & Target.Row & ");SVERWEIS(A" & Target.Row & ";gruppe;2);"""")"
' Formel: =WENN(ISTZAHL(E1);SVERWEIS(A1;gruppe;2);"")
Else
Target.Offset(0, 7).ClearContents
End If
End If
End If
Punkt_A:
Application.EnableEvents = True
End Sub

Anzeige
AW: Abänderung VBA-Code
12.10.2006 14:49:40
Waltraud
Verzeihung Anstelle von
If Target.Column = 2 Then
AW: Abänderung VBA-Code
12.10.2006 15:02:27
Bernd
Gut,
dann müsste obiger Code ja funktionieren. Das tut er aber auch nicht.
Gruss
b.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige