Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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
Inhaltsverzeichnis

Worksheet_Change Fehlermeldung

Worksheet_Change Fehlermeldung
23.04.2019 14:13:30
Sebastian
Hallo zusammen,
möchte, wenn sich in Tabelle1 in Zelle A1 etwas ändert, den Wert aus D4 in Tabelle2 kopieren und dann weiterverarbeiten.
Ich scheitere aber daran auf Tabelle2 zuzugreifen. Beim Ausführen der Zeilt "Range("D4").Select" komt die Fehlermeldung: Laufzeitfehler '1004': Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Worksheets("Tabelle 2").Select
Range("D4").Select
Selection.Copy
End If
End Sub

Woran könnte es liegen?
LG Sebastian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change Fehlermeldung
23.04.2019 14:36:45
Dieter
Hallo Sebastian,
du kannst das z.B. folgendermaßen machen (das Programm kopiert als Beispielverarbeitung 'Tabelle 2'!D4 nach 'Tabelle 1'!A2).
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wb As Workbook
Set wb = ThisWorkbook
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
Application.EnableEvents = False
wb.Worksheets("Tabelle 2").Range("D4").Copy _
Destination:=Me.Range("A2")
Application.EnableEvents = True
End If
End Sub
Viele Grüße
Dieter
AW: Worksheet_Change Fehlermeldung
23.04.2019 15:12:46
Sebastian
Hallo Dieter,
danke schon mal. Der Code von dir funktioniert.
Komme mit meinem komplexeren Beispiel trotzdem nicht weiter. Es kommt eine Fehlermeldung ("Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen") bei der Zeile mit dem For-Statement ("For Each rngZelle In Range("rngFilterbezeichnungen")"):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strFilter As String
Dim rngZelle As Range
'Range("rngFilter") entspricht A4 auf Tabelle1
'Range("rngFilterbezeichnungen") A1 bis A20 in Tabelle2
'Range("rngZielzelle") entspricht A12 auf Tabelle1
If Not Intersect(Target, Range("rngFilter")) Is Nothing Then
Application.EnableEvents = False
strFilter = Target.Value
Worksheets("Tabelle2").Select
For Each rngZelle In Range("rngFilterbezeichnungen")
If strFilter = rngZelle Then
'Wert rechts von rngZelle kopieren und nur als Wert einfügen
rngZelle.Offset(0, 1).Select
Selection.Copy
Range("rngZielzelle").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
Next
Application.EnableEvents = True
End If
End Sub
Warum läuft die For-Schleife nicht los?
LG Sebastian
Anzeige
AW: Worksheet_Change Fehlermeldung
23.04.2019 15:15:13
Sebastian
[Pseudo-Post, um Thread als weiterhin offen zu markieren.]
AW: Worksheet_Change Fehlermeldung
23.04.2019 16:00:11
EtoPHG
Hallo Sebastian,
Wie gesagt: Es liegt an Deinem VBA Level, der nicht mal bescheiden ist!
Alle Range-Angaben in einer Tabellenklasse beziehen sich auf das Tabellenblatt, sofern sie nicht voll referenziert sind, also z.B. Worksheets(2).Range("Blabla... Zudem sind .Select und .Activate die wohl am wenigsten gebrauchten (und wenn dann oft kontraproduktiv!) Befehle in VBA. Lerne also die Objekte richtig zu referenzieren!
Gruess Hansueli
AW: Worksheet_Change Fehlermeldung
23.04.2019 17:50:58
Sebastian
Hallo Hansueli,
ja genau deswegen bin ich ja hier, um weiter zu lernen! Danke für deine hilfreiche Rückmeldung.
Gruß Sebastian
Anzeige
AW: Worksheet_Change Fehlermeldung
23.04.2019 16:09:09
Matthias
Hallo
VBA Gut ?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Worksheets("Tabelle2").Range("D4").Copy
Range("B1").PasteSpecial (xlPasteValues)
Application.CutCopyMode = 0
End If
End Sub
Sollte Deine Tabelle tatsächlich "Tabelle 2" heißen musst Du das im Code wieder ändern.
Gruß Matthias
AW: Worksheet_Change Fehlermeldung
23.04.2019 17:55:22
Sebastian
Danke Matthias!
AW: Worksheet_Change Fehlermeldung
23.04.2019 17:05:08
Dieter
Hallo Sebastian,
das folgende Programm sollte es tun:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Dim strFilter As String
Dim wb As Workbook
Dim ws2 As Worksheet
'Range("rngFilter") entspricht A4 auf Tabelle1
'Range("rngFilterbezeichnungen") A1 bis A20 in Tabelle2
'Range("rngZielzelle") entspricht A12 auf Tabelle1
Set wb = ThisWorkbook
Set ws2 = wb.Worksheets("Tabelle2")
If Not Intersect(Target, Me.Range("rngFilter")) Is Nothing Then
strFilter = Target.Value
For Each rngZelle In ws2.Range("rngFilterbezeichnungen")
If strFilter = rngZelle Then
'Wert rechts von rngZelle kopieren und nur als Wert einfügen
rngZelle.Offset(0, 1).Copy
Application.EnableEvents = False
Me.Range("rngZielzelle").PasteSpecial Paste:=xlPasteValues
Application.EnableEvents = True
Application.CutCopyMode = xlCut
End If
Next rngZelle
End If
End Sub
Viele Grüße
Dieter
Anzeige
AW: Worksheet_Change Fehlermeldung
23.04.2019 17:53:25
Sebastian
Hallo Dieter,
danke dir! Wieder was gelernt heute!
Gruß Sebastian
Es liegt am VBA Level! (owT)
23.04.2019 14:42:49
EtoPHG

AW: Worksheet_Change Fehlermeldung
23.04.2019 17:12:27
onur
Musst du Microsoft melden - das muss ein Bug oder Easteregg sein - an Dir kann es ja nicht liegen, deine VBA-Kenntnisse sind ja "gut"

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige