Posição inicial do UserForm
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?
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