Thema Datum  Von Nutzer Rating
Antwort
Rot Vlookup
14.02.2016 14:20:07 JHC
NotSolved
15.02.2016 12:01:13 Gast36930
NotSolved
15.02.2016 13:08:06 Gast44083
NotSolved

Ansicht des Beitrags:
Von:
JHC
Datum:
14.02.2016 14:20:07
Views:
1204
Rating: Antwort:
  Ja
Thema:
Vlookup

Hallo Zusammen,

 

Ich bin relative neu in der VBA Programmierung, und ich habe keinen technischen Background. Daher bitte ich um Verzeihung falls ich nicht die richtigen Terminologien und Begriffe verwende :-)

 

Folgendes Problem ich habe das File aus dem Anhang. Dieses File ist eine Vereinfachung von meiner eigentlichen Aufgabe beinhaltet aber das gleiche Konzept und die gleiche Vorgehensweise. Vom Aufbau besteht dieses File aus den Drei Arbeitsblättern „Target“, „IT1“ und „IT2“. Die daten sind in IT1 und IT2 hinterlegt und sollen über einen Vlookup in das Target worksheet. Für den Vlookup verewende ich Die ID1 und ID2 welche in ieiner form In target und IT1 und IT2 vorhanden sind.

 

Nun folgedes Problem ich hab jetzt ein VBA Skript geschrieben welches wiefolgt auch funktioniert:

-----------------------------------------------

Sub Neu()

Dim i As Integer

For i = 1 To 2

If i = 1 Then x = "ID1"

If i = 1 Then y = "Information"

If i = 1 Then Z = "first"

 

If i = 2 Then x = "ID2"

If i = 2 Then y = "Information2"

If i = 2 Then Z = "Second"

 

    'gehe auf ID1 um X wert zu speichern

    Range("6:6").Find(x).Select

    Dim IDX As Integer

    IDX = ActiveCell.Column

    ActiveCell.Offset(1, 0).Value = IDX

   

    Range("6:6").Find(y).Select

    Dim IDY As Integer

    IDY = ActiveCell.Column

    ActiveCell.Offset(1, 0).Value = IDY

   

    Dim SK As Integer

    SK = IDX - IDY

   

        Range("6:6").Find(y).Select

        ActiveCell.Offset(4, 0).Select

        ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],'IT1'!R2C1:R18C2,2,FALSE)"

Next i

End Sub

-----------------------------------------------

Diese Prozedur möchte ich nun für mehrere Files anwenden die vom Grundaufbau ähnlich, aber leider nicht gleich sind. Somit ist die Reihenfolge der Spalten(Atribute / Header/ wie auch immer) nicht immer die gleiche. Daher versuche ich meine Prozedur so variable wie Möglich zu gestalten, was so halbwegs funktioniert.

 

Nun hab ich eine frage speziell zu dem Vlookup….es geht speziell um folgenden Teil

…..

        ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],'IT1'!R2C1:R18C2,2,FALSE)"

….

Diesen Teil würde ich gerne dynamisch gestalten, aus diesem Grund (und anderen Gründen) Habe ich nun die Variablen davor definiert:

 

Dim i As Integer

For i = 1 To 2

If i = 1 Then x = "ID1"

If i = 1 Then y = "Information"

If i = 1 Then Z = "First"

 

If i = 2 Then x = "ID2"

If i = 2 Then y = "Information2"

If i = 2 Then Z = "Second"

 

    Range("6:6").Find(x).Select

    Dim IDX As Integer

    IDX = ActiveCell.Column

    ActiveCell.Offset(1, 0).Value = IDX

   

    Range("6:6").Find(y).Select

    Dim IDY As Integer

    IDY = ActiveCell.Column

    ActiveCell.Offset(1, 0).Value = IDY

   

    Dim SK As Integer

    SK = IDX - IDY

 

Wenn ich nun versuche die Variable SK in den Vlookup hineinzusetzen klappt es leider nicht.

 

…..

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[SK],'IT1'!R2C1:R18C2,2,FALSE)”

…..

 

Lasse ich die Prozedur ablaufen hackt mir das Skript genau an dieser Stelle. Fahre ich jedoch mit der Maus auf die entsprechende Stelle wird mir in der erscheinenden Quickinfo bestätigt dass die Variable an diesem Punkt den Wert „-6“ hat, also genau denjenigen welcher entsprechend benötigt werden würde.

Also um die Frage zu konkretisieren: Wie kann ich das Suchkriterium in diesem Vlookup über die Variable „SK“ definieren?

 

Die Datei auf die ich mich hierin bezieh findet ihr unter:

https://drive.google.com/folderview?id=0B3AuahuaklZvSldxN0VETnQwcnc&usp=sharing

 

Ich bin über jeden weiteren Input und Hilfe dankbar :-)

 

LG

Jochen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Vlookup
14.02.2016 14:20:07 JHC
NotSolved
15.02.2016 12:01:13 Gast36930
NotSolved
15.02.2016 13:08:06 Gast44083
NotSolved