Here is a link to my most up to date sample data and code.
. 여기 코드는 다음과 같습니다
Dim dBT As Object 'global dictionary
Sub buttonpresscount()
'constants for column positions
Const COL_BLOCK As Long = 1
Const COL_TRIAL As Long = 2
Const COL_ACT As Long = 7
Const COL_AOI As Long = 8
Dim rng As Range, lastrow As Long, sht As Worksheet
Dim d, r As Long, k, resBT()
Set sht = Worksheets("full test")
lastrow = Cells(Rows.Count, 3).End(xlUp).Row
Set dBT = CreateObject("scripting.dictionary")
Set rng = sht.Range("B7:I" & lastrow)
d = rng.Value 'get the data into an array
ReDim resBT(1 To UBound(d), 1 To 1) 'resize the array which will
' be placed in ColT
'get unique combinations of Block and Trial and pressedcounts for each
For r = 1 To UBound(d, 1)
k = d(r, COL_BLOCK) & "|" & d(r, COL_TRIAL) 'create key
dBT(k) = dBT(k) + IIf(d(r, COL_ACT) <> "", 1, 0)
Next r
'populate array with appropriate counts for each row
For r = 1 To UBound(d, 1)
k = d(r, 1) & "|" & d(r, 2) 'create key
resBT(r, 1) = dBT(k) 'get the count
Next r
'place array to sheet
sht.Range("T7").Resize(UBound(resBT, 1), 1) = resBT
'clear dictionary
dBT.RemoveAll
'count AOI entries
For r = 1 To UBound(d, 1)
k = d(r, COL_BLOCK) & "|" & d(r, COL_TRIAL) 'create key
dBT(k) = dBT(k) + IIf(d(r, COL_AOI) = "AOI Entry", 1, 0)
Next r
'populate array with appropriate counts for each row
For r = 1 To UBound(d, 1)
k = d(r, 1) & "|" & d(r, 2) 'create key
resBT(r, 1) = dBT(k) 'get the count
Next r
'place array to sheet
sht.Range("U7").Resize(UBound(resBT, 1), 1) = resBT
End Sub
나는 기본적으로, 이전 코드를 복제 관련 컬럼에 대해 다른 일정을 추가 컬럼에 해당 참조를 변경하고, 계산 작업 inbetween 사전을 취소해야했다.
이것은 매우 구체적인 해결책처럼 보입니다. 실제로 무엇을하려고합니까? 샘플 데이터를 그림/테이블에 게시 할 수 있습니까? 더 나은 응답을 얻을 것입니다 – User632716
불행히도 화면 인쇄를 볼 수 없으므로이 질문을 완전히 이해하지 못합니다. 그러나 Tim의 코드를 사용하는 다른 게시물에서는 이해할 수없는 코드의 특정 부분에 대해 구체적으로 설명 할 수 있습니까? – Zac
@ Zac이 질문에 파일을 다운로드 할 수있는 링크를 첨부했습니다. 나는 질문과 함께 데이터의 스크린 샷으로 편집 할 것이다. 나는 라인의 문법을 이해하지 못한다. 'Dim d, r As Long, k, resBT()'나는 d와 r을 카운터로, resBT()는 배열이지만 k는? 나는 전에 이렇게 쓰여진 희미한 진술을 보지 못했습니다. 'dBT (k) = dBT (k) + IIf (d (r, COL_ACT) <>' ', 1, 0)'매개 변수를 얻지 못하고 IIF 인수를 결코 알지 못합니다. 전에. – shecodes