Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
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

VBA - Sverweis spezialfall

VBA - Sverweis spezialfall
Helge
Hallo, ich habe immer noch das problem von gestern!
Also als excelformel will ich genau das in VBA programmieren:
  • =IF(B24="","",IF(G24="",VLOOKUP(B24,$B:$G,6,FALSE),""))

  • mit dem Vergleichen bekomme ich das auch nicht hin, da so nur die letzte zeile beachtet wird.
    Bsp.
    Spalte B - Produktnummern
    Spalte G bis S - Description
    in spalte B stehen momentan 1000 nummern mit den description spalte G-S. Wenn ich nun 20 nummern an das ende der tabelle ohne description eintrage und das neu berechne, soll das makro die 20 nummer in der spalte B suchen. Falls vorhanden, soll es die description G-S uebernehmen, falls nicht vorhanden soll es die felder G-S frei lassen, damit ich die dann editieren kann.
    Das ist der beherige QT:
  • 
    Sub CheckProduktNr()
    ' CheckProduktNr
    Dim ProduktNr, Zeile, ZellePNr As Range, wks As Worksheet
    Set wks = ActiveSheet
    With wks
    'Spalte 2 (B) Prüfen
    Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
    If Zeile > 2 Then
    ProduktNr = .Cells(.Rows.Count, 2).End(xlUp).Value
    Set ZellePNr = .Range(.Cells(3, 2), .Cells(Zeile - 1, 2)).Find(What:=ProduktNr, _
    LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False)
    If ZellePNr Is Nothing Then
    'do nothing
    Else
    'Spalte 7(G) bis 14(N) in letzte Zeile kopieren
    .Range(.Cells(ZellePNr.Row, 7), .Cells(ZellePNr.Row, 14)).Copy _
    Destination:=.Cells(Zeile, 7)
    End If
    End If
    End With
    End Sub
    

  • der sucht zwar in der liste (Liste von A3-A5000) gibt aber kein Ergebnis aus (mit mgsbox spring der bis in z5001). Wenn die liste aufgeloest ist funktoniert es. Weiter sucht er nur nach der letzten zeile in der spalte B. Also wenn ich 20 neue nummern eingebe werden 19 nicht beachtet.
    Ich hab inzwischen aufgegeben und hab einiges versucht, aber hier stosse ich wirklich an meine Grenzen.

    1
    Beitrag zum Forumthread
    Beitrag zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: VBA - Sverweis spezialfall
    11.01.2010 11:33:59
    U-Sch
    Hallo,
    warum versuchst du es nicht mit dem VBA-VLOOKUP:
    If Range("B24") = "" Then
    variable = ""
    ElseIf Range("G24") = "" Then
    variable = Application.VLookup(Range("B24"), Range("$B:$G"), 6, False)
    Else
    variable = ""
    End If
    Viele Grüße
    Ulrich
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige