By MrRemodel հինգշաբթի, 05 թվականի հունվարի 2023 -ին
Ավելացնել Excel
Գրառումներ 1
Սիրում 0
Դիտումներ 3.7K
Քվեարկել 0
Կանխավ շնորհակալություն այս հարցում ցանկացած օգնության համար, որը կարող եք առաջարկել:

Այս կայքի օգնությամբ ես ստեղծել եմ հետևյալ գործառույթը.

Գործառույթ ColorFunction (rColor as Range, rRange as Range, Optional SUM as Boolean)
Dim rCell As Range
Dim lCol այնքան երկար
Dim vResult
lCol = rColor.Interior.ColorIndex
Եթե ​​SUM = Ճշմարիտ Ապա
rRange-ի յուրաքանչյուր rCell-ի համար
Եթե ​​rCell.Interior.ColorIndex = lCol Այնուհետեւ
vResult = WorksheetFunction.SUM(rCell, vResult)
Վերջ: Եթե
Հաջորդ rCell
Ուրիշ
rRange-ի յուրաքանչյուր rCell-ի համար
Եթե ​​rCell.Interior.ColorIndex = lCol Այնուհետեւ
vResult = 1 + vResult
Վերջ: Եթե
Հաջորդ rCell
Վերջ: Եթե
ColorFunction = vResult
End գործառույթը


Յուրաքանչյուր թիրախային բջիջում ես ուզում եմ այդ շարքի բոլոր բջիջների գումարը, որոնք պարունակում են նշված բջիջի գույնը.
=գունավոր ֆունկցիա (AR4,H5:AP5,TRUE)

Ինչպե՞ս կարող եմ թարմացնել թիրախային վաճառքը, երբ տողում գտնվող որևէ այլ բջիջ (H5: AP5) փոխում է գույնը:
Hi այնտեղ,

Դուք կարող եք ավելացնել կոդը. Application.Calculation = xlAutomatic ձեր գործառույթին.

Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
Application.Calculation = xlAutomatic
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function


Խնդրում եմ, փորձեք:

Amanda
·
1 տարի առաջ
·
0 Սիրում
·
0 քվե
·
0 Comments
·
Դիտել ամբողջական գրառումը