Thema Datum  Von Nutzer Rating
Antwort
19.07.2011 10:16:44 Gunnar
NotSolved
20.07.2011 12:54:16 Dekor
NotSolved
20.07.2011 20:58:42 Gast42820
NotSolved
21.07.2011 12:39:45 Dekor
*****
NotSolved
21.07.2011 16:00:10 Gast42281
NotSolved
21.07.2011 19:55:50 Dekor
NotSolved
Rot SVERWEIS mit dynamischen Variablen
26.07.2011 11:35:56 Gunnar
Solved

Ansicht des Beitrags:
Von:
Gunnar
Datum:
26.07.2011 11:35:56
Views:
908
Rating: Antwort:
 Nein
Thema:
SVERWEIS mit dynamischen Variablen

Hallo Detlev,

 vielen Dank für Deine fantastische Hilfe - jetzt funktioniert alles bestens :-)!!

Der Vollständigkeit halber nochmal den Code:

Call StatusUeberInventarnummerSpiderVonNach("Spider", "Rechner neu")

Private Function StatusUeberInventarnummerSpiderVonNach(quellblatt As String, zielBlatt As String)
    Dim auswahl As String, zielSpalteABC As String, letzteQuellspalteABC As String, rechnerSpalteABC As String, inventarNrABC As String, _
    anzahlZielzeilen As Integer, zielSpalte As Integer, anzahlQuellzeilen As Integer, statusSpalte As Integer, inventarNr As Double
        
    'Anzahl Zeilen im Quellblatt ermitteln
    Sheets(quellblatt).Select
    anzahlQuellzeilen = ActiveSheet.UsedRange.Rows.Count
    'Suchmatrix definieren
    letzteQuellspalteABC = Split(Cells(1, ErmittleSpaltenanzahl).Address, "$")(1)
    auswahl = "A1:" & letzteQuellspalteABC & anzahlQuellzeilen ' daraus wird bspw. "A1:I3753"
    'Statusspalte ausfindig machen
    statusSpalte = WorksheetFunction.Match("_Status", Rows(1), 0) 'Funktion sucht in Zeile 1 nach der Überschrift - bspw. "17"
    rechnerSpalteABC = ErmittlespaltenID("Inventarnummer", quellblatt) 'Funktion sucht in Zeile 1 nach der Überschrift - bspw. "A"
    
    'Anzahl Zeilen im Zielblatt
    Sheets(zielBlatt).Select
    anzahlZielzeilen = Range("B65535").End(xlUp).Row 'von Spalte B65535 aus nach oben in die erste beschriebene Zeile springen
    
    'Daten rechts neben letzter befüllter Spalte einfügen
    zielSpalte = ErmittleSpaltenanzahl + 1 ' Funktion liefert die letzte gefüllte Spalte als Zahl zurück
    zielSpalteABC = Split(Cells(1, zielSpalte).Address, "$")(1) ' Umwandlung der Spaltenangabe in die Buchstabenbezeichnung
        
    'erste Zeile beschriften
    Cells(1, zielSpalte).Value = "Status"

    'nachfolgende Zeilen befüllen
    For i = 2 To anzahlZielzeilen
        inventarNrABC = Cells(i, 2).Value
        If inventarNrABC <> "" And IsNumeric(inventarNrABC) Then
         inventarNr = inventarNrABC * 1
        End If
        Worksheets(zielBlatt).Cells(i, zielSpalte).Value = Application.VLookup(inventarNr, Sheets(quellblatt).Range(auswahl), statusSpalte, False)
    Next i
    
End Function

Private Function ErmittlespaltenID(Suchwert As String, TabBlatt As String) As String
    Dim ermittelteID As Integer, Buchstaben As String
    
    Sheets(TabBlatt).Select
    ermittelteID = WorksheetFunction.Match(Suchwert, Rows(1), 0) 'sucht in Zeile 1 nach der Überschrift
    Buchstaben = Split(Cells(1, ermittelteID).Address, "$")(1) 'ermittelt aus der Spaltenzahl den entsprechenden Buchstaben
    ErmittlespaltenID = Buchstaben
End Function


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
19.07.2011 10:16:44 Gunnar
NotSolved
20.07.2011 12:54:16 Dekor
NotSolved
20.07.2011 20:58:42 Gast42820
NotSolved
21.07.2011 12:39:45 Dekor
*****
NotSolved
21.07.2011 16:00:10 Gast42281
NotSolved
21.07.2011 19:55:50 Dekor
NotSolved
Rot SVERWEIS mit dynamischen Variablen
26.07.2011 11:35:56 Gunnar
Solved