Estou construindo a partir de uma pasta de trabalho que alguém criou anos atrás, onde a Planilha 1 tem informações primárias do equipamento inseridas em caixas de texto ActiveX e botões de opção, com controles ActiveX correspondentes abaixo dela para equipamentos secundários para fazer cálculos. As Planilhas 2 e 3 copiam as informações primárias do equipamento para caixas de rótulo ActiveX para fazer cálculos para outros equipamentos.
O código foi configurado como abaixo para copiar as informações do equipamento primário para as planilhas 2 e 3.
Private Sub Worksheet_Activate()
If Right(ActiveSheet.Name, 1) <> "1" Then
Sheet2.label1.Text = Sheet1.textbox1.Text
Sheet2.label2.Text = Sheet1.textbox2.Text
Sheet2.opt1.Value = Sheet1.opt1.Value
Sheet2.opt2.Value = Sheet1.opt2.Value
End If
End Sub
Adicionei outra planilha para fazer cálculos para outro equipamento, usando VBA correspondente, no entanto, quando clico da Planilha 4 de volta para a Planilha 1 (com os botões de opção originais), os valores do botão de opção da Planilha 1 são sempre limpos. Isso NÃO acontece nas outras 2 planilhas existentes, apenas na minha nova. Reduzi para esta sub específica (na planilha 4) que está causando os problemas, mas não consigo descobrir como resolvê-lo.
Tentei as seguintes variações sem sucesso para impedir que os botões de opção na planilha 1 fossem limpos.
- alterando Private Sub para um botão de comando ( Command_Click() )
- substituindo a declaração If por With Me
- removendo a declaração If/With Me completamente
Não há nenhum outro código que limpe esses botões de opção específicos, além de ThisWorkbook para um sub Workbook_Open() (e excluí-lo não fez diferença). Alguém tem uma ideia do que pode estar causando isso, ou código VBA para evitar que isso aconteça?
Fiz uma pasta de trabalho de teste sem dados confidenciais, e o problema acontece depois de clicar em cada uma das planilhas (2-4) e depois clicar de volta para a planilha1 (portanto, um pouco diferente da pasta de trabalho original). Também não vejo nenhuma diferença nas propriedades de controle. Link do OneDrive: https://1drv.ms/x/c/e4891d1fec732162/EeyXfmzcETlGjNDy7_St01EBUbOdZOTDH9U3SbMpPSM3kQ?e=HXCO93
Gostaria de manter os botões de opção em cada planilha, pois será difícil atualizar o VBA nas planilhas seguintes (+ estética).
Isto está usando o Excel do Office 365 for Business.
Obrigado!