Office: sverweis in macro einbetten ?

Helfe beim Thema sverweis in macro einbetten ? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; ersteinmal > guten tag alle zusammen. ich hatte mir vor einiger zeit zu einer tabelle mehrere macros geschrieben. eins davon siehe unten. nun... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Sabienchen, 28. Oktober 2011.

  1. sverweis in macro einbetten ?


    ersteinmal > guten tag alle zusammen.

    ich hatte mir vor einiger zeit zu einer tabelle mehrere macros geschrieben. eins davon siehe unten.

    nun wollte ich dieses macro mit einer sverweis formel erweitern.
    Code:
    =WENN(ISTNV(SVERWEIS(B2;Daten!B:C;2;0));"";SVERWEIS(B2;Daten!B:C;2;0))
    
    und zwar soll spalte 2 beim ausführen des macros abgefragt werden und das ergebnis in spalte 10 eingfügt werden
    (ActiveCell.FormulaR1C1 = " ergebnis "

    ich bin da schon eine weile raus, deshalb meine anfrage ob mir da jemand bei helfen könnte.

    Code:
    Sub Test()
    ' Makro am 12.04.2007 von Sabienchen geschrieben
    ' Tastenkombination: Strg+u
        ActiveCell.Rows("1:1").EntireRow.Select
        Selection.End(xlToLeft).Select
        ActiveCell.FormulaR1C1 = "=TODAY()"
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        ActiveCell.Offset(0, 5).Range("A1").Select
        ActiveCell.FormulaR1C1 = "frei lassen"
        ActiveCell.Offset(0, 4).Range("A1").Select
        ActiveCell.FormulaR1C1 = " ergebnis "
        ActiveCell.Offset(0, -9).Range("A1:Q1").Select
        With Selection.Interior
            .ColorIndex = 27
            .Pattern = xlSolid
        End With
        ActiveCell.Offset(0, 11).Range("A1").Select
    End Sub
    
    mfg Sabienchen
     
    Sabienchen, 28. Oktober 2011
    #1
  2. Exl121150 Erfahrener User
    Hallo!

    Meinst Du ein Makro wie das folgende?
    Code:
    Sub TestNeu()
       Dim RgBereich As Range
       Set RgBereich = ActiveCell.EntireRow.Cells(1)
       With RgBereich
          .Value = Date
          .Offset(0, 5).Value = "frei lassen"
          With .Offset(0, 9)
            .FormulaLocal = "=WENN(ISTNV(SVERWEIS(B2;Daten!B:C;2;0));"""";SVERWEIS(B2;Daten!B:C;2;0))"
            '.Formula = "=IF(ISNA(VLOOKUP(B2,Daten!B:C,2,0)),"""",VLOOKUP(B2,Daten!B:C,2,0))"
          End With
          With .Range("A1:Q1").Interior
            .ColorIndex = 27
            .Pattern = xlSolid
          End With
          .Offset(0, 11).Select
       End With
    End Sub
    Der Knackpunkt beim Zuweisen einer Formel zu einer Zelle aus VBA heraus ist unter anderem, dass man darauf achten muss, dass man jedes in der Formel enthaltene Anführungszeichen durch ein weiteres Anführungszeichen ergänzen muss.
    Ferner muss man natürlich die passende FORMULA-Eigenschaft wählen, wovon es 5 Varianten gibt:
    .Formula
    .FormulaR1C1
    .FormulaLocal
    .FormulaR1C1Local
    .FormulaArray

    Ferner habe ich die SELECTION-Objekte durch RANGE-Objekte ersetzt und zudem "WITH...END WITH"-Anweisungsblöcke eingesetzt, um den Code zu verkürzen.
    Die englischsprachige Originalformelvariante habe ich nur informationshalber (als Kommentar) eingefügt. Diese Zeile kann natürlich entfernt werden.
     
    Exl121150, 30. Oktober 2011
    #2
  3. soweit hab ich es einigermassen verstanden.

    ich habe eine liste erstellt auf dem blatt " Daten "
    spalte B und C

    ___B___ ___C___
    442 100 . Auto AS
    442 123 . Auto BC
    ...

    aber die formel macht nur immer den ersten wert ...also " Auto AS "
    als wenn die liste nicht akzeptiert wird.

    da muss noch irgendwo ein fehler drin sein.

    ich habs.....
    =WENN(ISTNV(SVERWEIS(B2;Daten!B:C;2;0));"""";SVERWEIS(B2;Daten!B:C;2;0))

    > B2 , da sollte dann eigentlich die aktuelle zeilennummer drinstehen....

    kann man die vorher abfragen ?

    mfg
     
    Sabienchen, 30. Oktober 2011
    #3
  4. Exl121150 Erfahrener User

    sverweis in macro einbetten ?

    Hallo,

    folgendes Makro führt die Zeilenanpassung in der Formel durch:
    Code:
    Sub TestNeu()
       Dim RgBereich As Range
       Dim Formel As String
       
       Set RgBereich = ActiveCell.EntireRow.Cells(1)
       With RgBereich
          .Value = Date
          .Offset(0, 5).Value = "frei lassen"
          With .Offset(0, 9)
            Formel = "=WENN(ISTNV(SVERWEIS($$;Daten!B:C;2;0));"""";SVERWEIS($$;Daten!B:C;2;0))"
            .FormulaLocal = Replace(Formel, "$$", "B" & .Row)
          End With
          With .Range("A1:Q1").Interior
            .ColorIndex = 27
            .Pattern = xlSolid
          End With
          .Offset(0, 11).Select
       End With
    End Sub
    
     
    Exl121150, 31. Oktober 2011
    #4
  5. also ist
    .FormulaLocal = Replace(Formel, "$$", "B" & .Row)
    dafür um die zeilennummer anzupassen.
    super, muss ich doch mal damit rumprobieren :-)

    aja, das makro funktioniert astrein, so wie ich es mir vorgestellt hatte.

    ganz vielen lieben dank für die schnelle hilfe.


    bis zu dem ergebnis hätte ich es bestimmt nicht alleine geschafft.
    ich werd mich wohl jetzt doch öfters damit beschäftigen müssen.
    man rostet so schnell ein...

    mfg sabiene
     
    Sabienchen, 31. Oktober 2011
    #5
  6. guten morgen,

    ich habe dann mal wieder etwas experimentiert und mir ist aufgefallen:
    wenn das blatt " Daten " aus der mappe entfernt wird gibt es eine fehlermeldung "#Bezug" im feld der formel.

    nun habe ich mal die suche bemüht konnte aber nichts finden, wie man nach
    erfolgreichem eintragen des "ergebnisses", die formel
    " =WENN(ISTNV(SVERWEIS($$;Daten!B:C;2;0));"""";SVERWEIS($$;Daten!B:C;2;0))"
    wieder entfernt ohne das ergebnis zu löschen.

    weis da jemand wie ich das lösen könnte ?

    mfg Sabiene
     
    Sabienchen, 2. November 2011
    #6
  7. miriki Erfahrener User
    auslesen (kopieren) der zelle und eintragen des Wertes (Menü: Bearbeiten - Inhalte Einfügen - nur Werte)
    Code:
    .cells(y,x).copy
    .cells(y,x).pastespecial paste:=xlpastevalues
    oder, bei einzelnen Zellen, noch einfacher:
    Code:
    .cells(y,x).value = .cells(y,x).value
    Damit wird die Formel (Eigenschaft .formula) durch den Wert (Eigenschaft .value) ersetzt / überschrieben.

    Gruß, Michael
     
  8. sverweis in macro einbetten ?

    guten tag,


    das ist ja prima, so einfach..
    so kannte ich das noch garnicht.
    werde ich dann mal mit ins makro einfügen.

    vielen lieben dank, sabiene
     
    Sabienchen, 2. November 2011
    #8
  9. hallo,
    ich hab es mal mit eingetragen, dürfte aber falsch sein da die formel trotzdem noch in der zelle steht.
    och menno...ist doch nicht so einfach.....


    Code:
    Dim RgBereich As Range
    Dim Formel As String
       
       Set RgBereich = ActiveCell.EntireRow.Cells(1)
       With RgBereich
          .Value = Date
          With .Offset(0, 5)
            Formel = "=WENN(ISTNV(SVERWEIS($$;Daten!B:D;3;0));""Vrg 0063"";SVERWEIS($$;Daten!B:D;3;0))"
            .FormulaLocal = Replace(Formel, "$$", "B" & .Row)
          End With
            .Cells(0, 5).Copy
            .Cells(0, 5).PasteSpecial Paste:=xlPasteValues
          With .Offset(0, 9)
            Formel = "=WENN(ISTNV(SVERWEIS($$;Daten!B:C;2;0));"" HH"";SVERWEIS($$;Daten!B:C;2;0))"
            .FormulaLocal = Replace(Formel, "$$", "B" & .Row)
          End With
            .Cells(0, 9).Copy
            .Cells(0, 9).PasteSpecial Paste:=xlPasteValues
          With .Range("A1:Q1").Interior
            .ColorIndex = 27
            .Pattern = xlSolid
          End With
          .Offset(0, 11).Select
       End With
    
     
    Sabienchen, 2. November 2011
    #9
  10. miriki Erfahrener User
    sehr ungetestet:
    also das .copy mit dem Bereich machen, der bereits durch das "with" bekannt ist.

    Gruß, Michael
     
  11. guten tag,

    recht herzlichen dank für die hilfe.
    jetzt funktionietrtb es endlich zu meiner zufriedenheit.


    danke danke

    mfg sabiene
     
    Sabienchen, 3. November 2011
    #11
Thema:

sverweis in macro einbetten ?

Die Seite wird geladen...
  1. sverweis in macro einbetten ? - Similar Threads - sverweis macro einbetten

  2. XVERWEIS, SVERWEIS: Nur unter bestimmter Bedingung ausgeben, sonst weitersuchen

    in Microsoft Excel Hilfe
    XVERWEIS, SVERWEIS: Nur unter bestimmter Bedingung ausgeben, sonst weitersuchen: Moin, ich möchte mit einem S- oder XVERWEIS eine Tabelle auslesen. In der Spalte A (Suchmatrix) stehen verschiedene Namen, die jeweils mehrfach vorkommen. In der Spalte B (Ausgabematrix) sind die...
  3. Sverweis mehrere suchkriterien

    in Microsoft Excel Hilfe
    Sverweis mehrere suchkriterien: Hallo ich hoffe es kann mir jemand Helfen, bekomme das nicht hin. Ich habe zwei Tabellen 1) Tabelle "2025" 2) Tabelle "Transport-Rechnung" Auf der Tabelle "Transport-Rechnung" steht in Zelle N9...
  4. Fehler beim SVERWEIS Vermeidbar?

    in Microsoft Excel Hilfe
    Fehler beim SVERWEIS Vermeidbar?: Hallo, ich habe eine Tabelle mit SVERWEIS. Der erste Tab ist quasi eine Übersicht nach Jahren und dann die weiteren Tabs die Eingaben in den Jahren (Artikel, Bestand, Einkaufspreis usw). Die...
  5. Adresse aus Teilen eines Nummernblocks einfügen

    in Microsoft Excel Hilfe
    Adresse aus Teilen eines Nummernblocks einfügen: Guten Tag zusammen, ich benötige Hilfe zu einer Formel / Funktion für folgendes: Ich möchte mit dem ersten Teil eines Nummernblocks (3 Stellen) aus einer Verweistabelle mit Adressen, diese dem...
  6. Reitername immer anders, wie muss der Sverweis lauten

    in Microsoft Excel Hilfe
    Reitername immer anders, wie muss der Sverweis lauten: Hallo zusammen, ich greife aus einer anderen Datei mittels SVERWEIS Daten ab. Jedoch wird der Reiter täglich umbenannt. Der Reiter ist aber immer an erster Position. Über ein Makro bekomme ich...
  7. SVERWEIS mit Range von bis funktioniert nicht?

    in Microsoft Excel Hilfe
    SVERWEIS mit Range von bis funktioniert nicht?: Hallo, ich komme leider nicht weiter bei meinem SVERWEIS. Spalte A und C werden ausgefüllt. In Spalte B sollte dann der SVERWEIS sein. Leider komm ich mit "von bis" nicht weiter und jedes...
  8. SVERWEIS zeigt #NV an

    in Microsoft Excel Hilfe
    SVERWEIS zeigt #NV an: Moin zusammen! kann mir jemand erklären, warum in der Tabelle "Lieferschein" der SVERWEIS #NV zeigt, obwohl die EAN in den Stammdaten vorkommt? Wenn ich die Formel anpasse, sodass aus FALSCH >...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden