Entrada de dados do Excel sem formulários de usuário

0

Estou usando o Excel 2016 para Mac e ele não suporta formulários de usuário. O que eu quero fazer é adicionar novas entradas à minha tabela (linhas) usando algum tipo de campo de entrada, para que você possa adicionar apenas novas entradas através deste campo de entrada e não possa modificar livremente a planilha. Alguém tem uma ideia de como posso fazer isso sem formulários de usuário?

UPDATE: eu poderia usar a primeira linha para obter dados do usuário. Como seria meu script VBA para pegar os dados na primeira linha e anexá-los ao final da folha?

Aqui está uma captura de tela do que eu achei que poderia funcionar:

    
por Marcello S 20.12.2017 / 10:27

2 respostas

0

Eu gostaria de sugerir uma solução mais fácil recentemente que eu publiquei aqui apenas. Basta clicar neste link.

Adicione dados após clicar no botão para folha seguinte e subsequentemente

Verifique o código VBA votado como Resposta.

NB: Essa solução está entre 2 folhas, você pode realizá-la em uma planilha também, altere Copy & Cole o intervalo de dados e o nome da planilha conforme sua necessidade.

Espero que isso ajude você.

    
por 21.12.2017 / 13:12
0

Acho que sua melhor opção seria usar validação de dados.

Realce as células em que os usuários inserirão dados.

Vá para a guia Dados. Na faixa da guia Dados, clique em Validação de dados.

Isso abrirá uma caixa de diálogo na qual você poderá personalizar e limitar o tipo de dados que os usuários podem inserir.

Quanto à parte 2. você pode proteger a planilha indo até a guia Revisar. Na faixa de opções da guia Revisar, há várias opções para proteger a Planilha, a pasta de trabalho, etc. Se você clicar nesses ícones, permitirá que você personalize o tipo de proteção desejado para sua planilha / planilha.

Ambos estão disponíveis no Excel 2016 para Mac (assim como no Excel para Windows). Acabei de verificar.

Execute esta macro depois de inserir os dados e ela anexará os dados ao final.

Sub EnterAtEnd ()

Dim LastRow As Long, Rng As Range

Range("D1:F1").Select
Selection.Copy
With ActiveSheet
    LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row + 1
End With
Set Rng = Range("D" & LastRow)
Rng.Select

ActiveSheet.Paste

End Sub

Nota: D1: F1 é a área onde os novos dados são inseridos. A coluna D é a primeira coluna dos dados que você está coletando

Você pode criar um botão para empurrar depois de inserir os dados para executar essa macro.

    
por 20.12.2017 / 15:43