Pergunta

Eu criei um belo calendário no Excel e testei a posição do UserForm com:

.Top = Application.Top + 125 .Left = Application.Left + 125

Isso funciona muito bem, mas o que eu realmente gostaria é que o formulário aparecesse ao lado da célula ativa.

O que tentei abaixo não está funcionando e não sei por quê.Quero que o canto superior esquerdo do formulário encoste no canto superior direito da célula ativa, porém o formulário acaba cobrindo a célula ativa

.Top = ActiveCell.Top .Left = ActiveCell.Left + ActiveCell.Width

Alguma sugestão?

Foi útil?

Solução

Isso está funcionando para mim como você espera:

    .Top = ActiveCell.Top + ActiveCell.Height / 2 + .Height
    .Left = ActiveCell.Left + ActiveCell.Width * 1.5

Outras dicas

If Application.Version = "11.0" Then
Me.Top = Application.Top + [b7].Top + 70 - Windows(1).VisibleRange.Top
Else
Me.Top = Application.Top + [b7].Top - 4 +  (Application.CommandBars.Item("Ribbon").Height * 0.75) - Windows(1).VisibleRange.Top
End If
Me.Left = Application.Left + [b7].Left + 90 - Windows(1).VisibleRange.Left

não é tão ruim...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top