Hirdetés

Keresés

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

  • Mutt

    senior tag

    válasz lappy #38933 üzenetére

    Szia,

    2 pontosítást hadd tegyek:

    1. Makrómentesen is meg lehet oldani, Excel 4.0 GET.CELL függvénnyel. A névkezelőben létre kell hozni az alábbi képletet: =GET.CELL(38;Sheet1!A1)
    A 38-as kód a függvényben a cella kitöltését nézi, ha automatikus akkor 0-t ad vissza.

    Egy segédoszlopban így kell használni: =NemSzines
    Nem szabad megadni cella hivatkozást a képletben, mert mindig relatív hivatkozást fog használni.

    Mivel csak az adatot tartalmazó cellák érdekelik a kérdezőt, ezért a segédoszlopban egy =HA(A1<>"";NemSzines;"") csak akkor íratjuk ki a cella háttérszínét amikor van adat benne.

    Ezek után már csak meg kell számolni a 0-kat a segédoszloban.

    2. A megadott makrót szintén finomítani kell mert az üres cellákat is megszámolja, amelyre gondolom nincs szükség.

    Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean = False, Optional SkipEmptyCells As Boolean = False)
    Dim rCell As Range
    Dim lCol As Long
    Dim blEmptyCell As Boolean
    Dim vResult
    lCol = rColor.Interior.ColorIndex
    If SUM = True Then
    For Each rCell In rRange
    If SkipEmptyCells Then
    blEmptyCell = Not IsEmpty(rCell)
    Else
    blEmptyCell = True
    End If
    If rCell.Interior.ColorIndex = lCol And blEmptyCell Then
    vResult = WorksheetFunction.SUM(rCell, vResult)
    End If
    Next rCell
    Else
    For Each rCell In rRange
    If SkipEmptyCells Then
    blEmptyCell = Not IsEmpty(rCell)
    Else
    blEmptyCell = True
    End If
    If rCell.Interior.ColorIndex = lCol And blEmptyCell Then
    vResult = 1 + vResult
    End If
    Next rCell
    End If
    ColorFunction = vResult
    End Function

    Használata: =ColorFunction(cella amelynek a szinét keressük; vizsgálandó tartomány; ÖSSZEG vagy DARAB kell?;Kell az üres cella?)

    A kérdező esetében: =ColorFunction($E$1;A1:A43;FALSE;TRUE), ahol E1 cella nincs formázva, A1:A43 az átnézendó tartomány, FALSE mert darab kell és TRUE mert nem érdekelnek az üres mezők.

    üdv

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