|  
                                             Hallo Gemeinde, 
Ich führe eine Suche aus und kopiere mit einem Makro in mein Arbeitsblatt. 
In diesem Arbeitsblatt habe ich ein Change Makro geschrieben, das mir aus einem anderen Sheet in der Mappe per SVerweis Daten einfügt. 
Mache ich es per Hand, Funktioniert es einwandfrei. 
Ändert das erste Makro die Zelle geht es in Störung. 
Teil aus 1. Makro: 
' QName =Quellbook, QSheet=QuellSheet, QZeile=QuellZeile, ZName=Zieldatei, ZSheet=Zielsheet, EZZeile= EinfügeZielZeile 
  Workbooks(QName.Name).Worksheets(QSheet.Name).Range("AJ" & QZeile).Copy ' QName =QuellDatei QSheet= QuellSheet QZeile= QuellZeile 
'    Workbooks(ZName).Worksheets(ZSheet).aktivate  'Wenn ich es Aktiviere kommt Laufzeitfehler 438 Objekt unterstützt Eigenschaft oder Methode nicht 
'   Workbooks(ZName).Worksheets(ZSheet).Range("F" & EZZeile).Select 'Gleiche Meldung 
'   Workbooks(ZName).Worksheets(ZSheet).Cells("F" & EZZeile).Select 'Laufzeitfehler 5 Ungültiger Prozeduraufruf oder Ungültiges Argument 
    Workbooks(ZName).Worksheets(ZSheet).Range("F" & EZZeile).PasteSpecial xlPasteValues 
Mein Gedanke dabei war die Zelle vorher zu aktivieren. Kann auch falsch sein. 
  
Das zweite Makro ist ein Worksheet Change in dem Sheet hinterlegt: 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim DP As Integer 
On Error GoTo ErrorHandler 
Line = Target.Row 
  
 
' Target Column = die überwachte Spalte Numerisch gezählt F=6,G=7 
If Target.Column = 6 Then ' Wert in Variable ist Spalte 6 ="F" 
GoTo EQAuffüllen 
Else: GoTo Ende 
End If 
'Auffüllen der Spalten aus Sheet Alle aktive EQs alle RBs 
EQAuffüllen: 
' Ausblenden der Funktion bei den ersten beiden Zeilen Row>2 
If Target.Row > 2 Then 'Wert der Variablen ist Zeile 150 
 
Line = Target.Row 
GoTo Einfügen 
Else: GoTo Ende 
 
Einfügen: 
Dim EQNR As String 
Dim Herkunft As String 
EQNR = "F" 
Herkunft = "D" 
Range(Herkunft & Line).Select 'Ab hier springt das Makro in den ERROR Handler und steigt aus.Wenn ich in die Variablen schaue passen die Werte und er sollte eigendlich die Zelle "D150" markieren und dort die Formel eintragen.  
ActiveCell.Formula2Local = "=SVERWEIS(" & EQNR & Line & ";'Alle aktive EQs alle RBs'!A:P;16;FALSCH)" 
  If Range(Herkunft & Line).HasFormula = True Then 'Nach dem Ausfüllen der Zelle durch die Formel, soll nur der Wert übernommen werden. 
    Range(Herkunft & Line).Value = Range(Herkunft & Line).Value 
  End If 
Mein Gedanke war, das ich die Zelle aus dem Makro heraus zuvor aktiviere. Evtl. könnte damit der Ablauffehler behoben sein. 
Wenn ich das Makro aus der Mappe heraus starte, funktioniert es einwandfrei. 
Danke 
     |