Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Minha solução

Decidi fazer tudo logo na sub do DoubleClick, ao invés de apenas chamar o formulário. Portanto, tirando a necessidade de atribuir os valores na UserForm_Initialize.

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    'Cancela a abertura de edição da celula depois do DoubleClick
    Cancel = True
    
    Dim linha As Long
    linha = target.Row 'Armazena a linha da célula em que houve o DoubleClick
    
    'Coloca o valor do range que faça correspondência a cada uma das TextBox do formulário
    With formMovimento
        .txbAtivo = Cells(linha, 1)
        .txbQuantidade = Cells(linha, 2)
        .txbTipo = Cells(linha, 3)
        .txbPreco = Cells(linha, 4)
        .txbCliente = Cells(linha, 5)
        .txbContatoMesa = Cells(linha, 6)
        .txbData = Cells(linha, 7)
        .txbHora = Cells(linha, 8)
    End With
    formMovimento.Show 'Chama o formulário (Exibe-o na tela)
End Sub
1 resposta
solução!

Ei, Marcio! Tudo bem?

Gostei muito da sua solução! Centralizar o carregamento dos dados diretamente no DoubleClick foi uma escolha prática que deixa o fluxo mais enxuto e elimina a necessidade de preencher no UserForm_Initialize, o que torna a manutenção do código mais fácil.

Obrigada por compartilhar com a comunidade como resolveu, com certeza ajudará outros colegas!

Continue praticando para se desenvolver e qualquer dúvida, conte conosco.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!