Escrever uma Matriz em uma Região a partir de uma Célula

Boa Tarde, amigos! Estou criando um DataSet para análise em Machine Learning, cujos dados originais estão em uma tabela do Excel. São efetuadas algumas operações tais como descobrir o maior valor na região selecionada, passagem da região para uma matriz em memória, ordenação e geração de uma segunda matriz contendo a quantidade de elementos repetidos na matriz original.

Até aí tudo funcionando 100%, mas não estou conseguindo “escrever” de volta os valores da matQtd na planilha, inciando na segunda linha vazia da coluna “A”, após a matriz original (matOriginal).

Para fins de teste, usei uma matriz original pequena, com 2 linhas e 6 colunas, e valores entre 1 e 7, evitando criar uma matriz de quantidades muito grande.

Agradeço antecipadamente qualquer ajuda!

Obrigado,
Augusto Cesar

Sub ContaQuantidade()

Dim rg As Range
Dim matOriginal As Variant
Dim i, j, x As Long
Dim linAtual, colAtual As Long
Dim ultLinha As Long
Dim ultColuna As Long
Dim maiorValor As Long
Dim x As Long
Dim temp As Long

Set rg = Planilha1.Range("A1").CurrentRegion

' Obtém o número de linhas e colunas na matriz original

ultLinha = rg.Rows.Count
ultColuna = rg.Columns.Count

' Pesquisa qual o maior valor dentro da região nomeada como rg

maiorValor = 0

For i = 1 To ultLinha
    For j = 1 To ultColuna
        If rg.Cells(i, j) > maiorValor Then
            maiorValor = rg.Cells(i, j)
        End If
    Next j
Next i

' Carrega para a matriz em memória os valores da região

matOriginal = Planilha1.Range("A1").CurrentRegion.Value

' Ordena ascendentemente cada linha da matriz usando o método bolha

For linAtual = 1 To ultLinha
    For i = 1 To ultColuna - 1
        For j = i + 1 To ultColuna
            If matOriginal(x, i) > matOriginal(x, j) Then
                temp = matOriginal(x, i)
                matOriginal(x, i) = matOriginal(x, j)
                matOriginal(x, j) = temp
            End If
        Next j
    Next i
Next linAtual

' Exibe cada linha da matriz ordenada ascendentemente

For i = 1 To ultLinha
    For j = 1 To ultColuna
        Debug.Print matOriginal(i, j) & " ";
    Next j
    Debug.Print " "
Next i

For i = 1 To ((ultColuna * 2) - 1)
    Debug.Print "-";
Next i

Debug.Print ""

' Cria uma segunda matriz com as dimensões do número de linhas da matriz original
' e o número de colunas sendo o maior valor encontrado na matriz originall

ReDim matQtd(ultLinha, maiorValor) As Variant

' Preenche a matriz criada com zeros

For i = 1 To ultLinha
    For j = 1 To maiorValor
        matQtd(i, j) = 0
    Next j
Next i

' Ajustar cada Linha do Vetor de Quantidades para as quantidades encontradas em matOriginal

For linAtual = 1 To ultLinha
    For colAtual = 1 To ultColuna
        matQtd(linAtual, matOriginal(linAtual, colAtual)) = matQtd(linAtual, matOriginal(linAtual, colAtual)) + 1
    Next colAtual
Next linAtual

' Exibe a matriz de quantidades (apenas para conferência)

For i = 1 To ultLinha
    For j = 1 To maiorValor
        Debug.Print matQtd(i, j) & " ";
    Next j
    Debug.Print " "
Next i

For i = 1 To ((ultColuna * 2) - 1)
    Debug.Print "-";
Next i

' Seleciona a célula A1

Planilha1.Range("A1").Select

' Localiza a primeira célula vazia na coluna "A"

While ActiveCell.Value <> ""
    ActiveCell.Offset(1, 0).Select
Wend

' Desloca-se para uma segunda linha vazia abaixo da encontrada na operação acima

ActiveCell.Offset(1, 0).Select

'
' Escrever os valores da matriz matQtd na região que inicia-se
' na célula anteriormente selecionada
'
' Aqui é que está a minha dificuldade:
' Qual a forma correta de escrever matQtd a partir da segunda célula vazia na coluna "A"?
'

' ActiveCell.Offset(1, 0).Value = matQtd ' Desta forma só escreve um valor

End Sub

Segue o link para a imagem com alguns dados fictícios:

Imgur