Keresés

Új hozzászólás Aktív témák

  • gsc73

    aktív tag

    válasz Delila_1 #3422 üzenetére

    Kedves Delila_1!

    Először is köszönöm a gyors segítséget, mert Nélküled nem ment volna!!!
    (soha nem találtam volna ki a „Rows(Cells(1, 12) & ":" & Cells(1, 13)).Select” szintaktikát)

    Elkészült a mű, és működik is, teszteltem, bár szerintem nem szép, és ha időd, kedved engedi érdekelne a véleményed.

    Íme:

    'AAA sorbarendez

    Range("L1").Select
    ActiveCell.FormulaR1C1 = _
    "=IF(ISERROR(MATCH(""AAA*"",R[1]C[0]:R[2000]C[0],1)+1),"""",MATCH(""AAA*"",R[1]C[0]:R[2000]C[0],1)+1)"

    Range("M1").Select
    ActiveCell.FormulaR1C1 = _
    "=IF(ISERROR(MATCH(""AAA*"",R[1]C[-1]:R[2000]C[-1],1)+1),"""",MATCH(""AAA*"",R[1]C[-1]:R[2000]C[-1],0)+1)"

    Rows(Cells(1, 12) & ":" & Cells(1, 13)).Select

    Selection.Sort Key1:=Range("L" & Cells(1, 12)), Order1:=xlAscending, Header:=xlGuess _
    , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal

    Range("L1").Select
    Selection.ClearContents
    Range("M1").Select
    Selection.ClearContents

    Tudom, hogy nem így kéne, de csak így tudom.....Úgy operálok általában, hogy makró rögzítések útján kapott részleteket illesztek össze, de ugye a rögzítés sem 100%-os. Pl. ez a sor: "Selection.Sort Key1:=Range("L" & Cells(1, 12)), Order1", így nézett ki a rögzítés után:
    "Selection.Sort Key1:=Range("L125”), Order1"...ami ugye csak a 125-ös sortól rendez, de más más esetben nem jó, mert változó helyen vannak az „AAA”-k. (ezt már a Te példád alapján találtam ki)......de valahogy a HELP-ben sem tudom megtalálni a megfelelő információkat.
    Ezért csinálom azt, hogy az adott függvényt (ISERROR, MATCH) egyszerűen hozzáadom egy cellához, és hivatkozok az értékre, mert nem vagyok rá képes, hogy kitaláljam, hogy a Visual Basic éppen vesszőt, vagy kettőspontot vár...

    Üdv, és köszi még egyszer:

    g.

Új hozzászólás Aktív témák

Hirdetés