从数组填充范围

Populating range from array

我有一个工作sheet更改事件,当 C、D 和 E 列中的三个相邻单元格填充任何值时运行,这会将输入日期放入单独的工作sheet以及从中捕获数据的 sheet 的名称。

然后代码应该计算一年中每一天这些日期的所有实例。

如果我单步执行数组,FrstLetter 会输出正确的值。
我挣扎的地方:然后它通过 application.transpose(myarray) 输出所述值,因为在循环时没有输入任何值。

With Sheets("Log")
    For RowCount = 1 To 60

        Select Case RowCount

        Case 2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57
            LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
            DateRange = WorksheetFunction.CountA(.Range("F" & RowCount & ":AJ" & RowCount))
            For TypCount = 1 To 3
                SheetIdent = .Cells(RowCount + TypCount, 5).Value
                For ClmnNmbr = 1 To DateRange
                    ReDim AddrArr(DateRange)
                    AddrArr(ClmnNmbr) = .Cells(RowCount, ClmnNmbr + 5).Value

                    Set arrDates = .Range("A60:A" & LastRow)
                    Set shtNames = .Range("B60:B" & LastRow)
                    
                    ReDim FrstLetter(DateRange)
                    FrstLetter(ClmnNmbr) = Application.CountIfs(arrDates, AddrArr(ClmnNmbr), shtNames, SheetIdent)

                    Worksheets("Log").Cells(TypCount + RowCount, ClmnNmbr + 5).Value = Application.Transpose(FrstLetter)
                Next ClmnNmbr
            Next TypCount

        Case Else
        
        End Select
    Next RowCount
                        
End With

我觉得我在转置的某个地方搞砸了,因为其他一切似乎都有效。

我明白了,不要试图将整个数组清空到一个单元格中就是答案! Application.Transpose(FrstLetter(ClmnNmbr)) 添加 ClmnNmbr 确保在循环时每个单元格只输出一个值,因为单元格也在循环。