Sverweis VBA Variable nicht definiert
Hallo,
ich habe einen Sverwis via VBA gemacht:
Sub Berechnung()
If Target.Column = 1 Then
On Local Error Resume Next
Cells(Target.Row, 2) = Application.WorksheetFunction.VLookup(Cells(Target.Row, 1), _
Workbooks("Beispiel Datei.xls").Worksheets("Verkäufe").Range("A1", "B500" & Workbooks _
("Beispiel Datei.xls").Worksheets("Verkäufe").Range("A65536").End(xlUp).Row), 2, False)
End If
End Sub
Leider bekomme ich immer eine fehler meldung im Bereich If Target.Column = 1 Then.
Habe Option Explicit eigefügt, ddann bekomme ich die Fehlemeldung "Variable nicht definiert".
Hat jemand eine Idee??
Vielen Dank!!
Gruß
Elhamplo
Antwort schreiben
Antwort 1 von nighty vom 29.03.2019, 13:53 Options
hi Elhamplo :-)
der code war ursprünglich in einem ereignis das die variable target zur verfuegung gestellt hat,es fehlte die definition,daher neue definition
da target als variable fast immer die aktive zelle darstellt hab ich es mal dementsprechend korrigiert
gruss nighty
Sub Berechnung()
Dim DeinTarget as range
DeinTarget = ActiveCell
If DeinTarget .Column = 1 Then
On Local Error Resume Next
Cells(DeinTarget .Row, 2) = Application.WorksheetFunction.VLookup(Cells(DeinTarget .Row, 1), _
Workbooks("Beispiel Datei.xls").Worksheets("Verkäufe").Range("A1", "B500" & Workbooks _
("Beispiel Datei.xls").Worksheets("Verkäufe").Range("A65536").End(xlUp).Row), 2, False)
End If
End Sub
Antwort 2 von Elhamplo vom 29.03.2019, 15:10 Options
Hallo nighty,
danke für die Hilfe!!!!
Bekomme immernoch eine Fehlermeldung. Danach ist die Zeile DeinTarget = ActiveCell gelb markiert.
Was muss ich jetzt änder???
Danke!!!
Gruß
Elhamplo
Antwort 3 von nighty vom 29.03.2019, 15:23 Options
hi Elhamplo :-)
hinter Deintarget hat sich ein leerzeichen eingeschmuggelt ,hab es ja so schnell korrigiert ohne excel,korrigiere dies an den drei stellen :-)
DeinTarget.Column wie auch DeinTarget.Row
gruss nighty
Antwort 4 von Elhamplo vom 29.03.2019, 15:40 Options
Hallo nighty,
Danke für die schnelle Antwort!
Hab ich auch schon gemacht. Leider bekomme ichimmer noch diese Fehlermeldung:
Laufzeitfehler
Objektvariable oder with-Blockvariable nicht festgelegt
dann ist wieder die Zeile DeinTarget = ActiveCell gelb markiert.
Ich hab keine Ahnung was das heißt.
Gruß Elhamplo
Antwort 5 von nighty vom 29.03.2019, 16:15 Options
hi Elhamplo :-)
das komt davon wenn man nicht richtig bei der sache ist :-(
statt
DeinTarget = ActiveCell
muss es natuerlich so lauten
set DeinTarget = ActiveCell
gruss nighty
p.s.
hab besuch und schau nur gelegentlich rein :-))
Antwort 6 von Elhamplo vom 29.03.2019, 16:53 Options
Hallo,
danke das Du mir so hilfst.
BUHHHH, ich gebe auf! Jetzt bekomme ich keine Fehlermeldung mehr , aber es tut sich garnichts. Ich hab keine Ahnung wo da der Wurm drin ist.
Ursprünglich war der Code auch in einem Worksheet_Change_Ereignis.
Vielleicht hast Du noch eine Idee??
Ich danke Dir!!
Gruß
Elhamplo
Antwort 7 von Elhamplo vom 29.03.2019, 17:11 Options
Hallo,
nur mal so eine böde Frage: Muss ich nicht auch eigentlich das Tabellenblatt angeben, wo eigentlich der Wert eingfügt werden soll??? Der Wert Soll in das Tabellen blatt Tabelle1 eingefügt in DeinTarget .Row, 2.
Danke!!!!!
Gruß
Elhamplo
Antwort 8 von nighty vom 29.03.2019, 17:52 Options
hi Elhamplo :-)
du kannst es ja probieren,setze vor jeder cells anweisung
Sheets(1).
indexbezogen
mit formeln kenne ich mich nicht so aus,arbeite mit formeln nicht
deine tabelle kommt noch,komme erst wochenende dazu.
gruss nighty
Antwort 9 von Elhamplo vom 30.03.2019, 09:58 Options
Hallo nighty,
Danke!!!
hat leider nicht geklappt.
Danke für die Mühe die Du Dir machst!!!
Gruß
Elhamplo