Não consigo pensar em nenhuma maneira de fazer isso com formas, mas você pode adicionar um formulário de usuário ao seu projeto, em seguida, adicione os botões / rótulos / imagens que você deseja para o formulário. Por padrão, um formulário é executado separadamente das planilhas do Excel, portanto, ele não é afetado pela rolagem, mas permanece na parte superior da janela do Excel.
Para adicionar um formulário, abra a janela de código, clique com o botão direito no seu VBAProject e selecione Inserir ... = > UserForm . Você pode usar Application.Width
, Application.Height
, Application.Top
e Application.Left
para determinar onde na tela o usuário tem sua janela do Excel e depois usar UserForm1.Width
etc. para reposicionar o formulário conforme necessário para mantê-lo onde você quiser (substitua UserForm1
com o que você nomear o objeto de formulário).
Você pode ter o formulário aberto em um local específico na tela, mas os usuários podem movê-lo (não tentei bloquear a posição de um formulário antes). Você terá que determinar quais eventos monitorar para reposicionar o formulário, se assim desejar. Lembre-se de que monitorar muitas ou muitas vezes causará um impacto geral no desempenho de seus usuários.