Notifications
Clear all

Enviar de um formulário para célula específica

6 Posts
2 Usuários
0 Reactions
1,264 Visualizações
(@evilmaax)
Posts: 82
Trusted Member
Topic starter
 

Bom dia pessoal

Meu problema é o seguinte:
Estou montando um calendário interativo onde tenho as datas separadas por dias em quadrados, como se fosse um calendário mesmo, e no lado esquerdo uma lista com dia, hora e atividade.
Tenho também um botão que irá chamar um formulário (não fiz ainda) que terá os campos:

1 - Dia
2 - Hora
3 - Atividade

Quero fazer com que o Excel pegue os dados inseridos nesse form e faça 2 coisas:

1 - No lado esquerdo as horas, a data e a atividad serão enviadas às células específicas;
2 - No lado direito o dia correspondente irá receber uma marcação informado que tem algo para aquele dia; ou poderíamos inserir uma nova caixinha no form chamada "Resumo" onde colocaríamos uma descrição do que tem agendado para a data e o mesmo seria transportado para tal espaço correspondente à data.

Espero que tenha conseguido explicar mais ou menos o que eu queria. Já procurei aqui no fórum e li vários posts sobre como usar form para fazer esse trabalho, mas não consegui. Também tentei com macros, mas não deu certo. Acho que é ainda mais complicado.

Envio a planilha em anexo onde tento explicar um pouco melhor.

Obrigado e qualquer ajuda é bem-vinda.

Abraços

 
Postado : 11/11/2015 5:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu não entendi a parte de hora.

Mas veja a gambiarra feita no arquivo modelo.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/11/2015 12:01 pm
(@evilmaax)
Posts: 82
Trusted Member
Topic starter
 

Eu não entendi a parte de hora.

Boa tarde Alexandre

Bom, como eu disse, minha ideia é tentar implementar um formulário que será exibido em uma janela assim que o usuário clicar em "Inserir evento". Nessa janela terá o campo hora onde ele preencherá e então irá para a coluna C.

Tentei entender o código, mas não consegui. Você tem alguma fonte onde eu possa estudar o código que você criou?
Não vou pedir pra você explicar. Acho que nunca havia visto um código tão grande e não quero importunar a esse ponto, hehe

Só uma coisa que não entendi: Em que parte do código está informando que o Excel deve puxar o conteúdo de T4, onde está escrito "Confraternização".
Talvez se eu entender essa parte já consiga ir tentando no acerto e erro.

Obrigado por enquanto

 
Postado : 11/11/2015 1:05 pm
(@evilmaax)
Posts: 82
Trusted Member
Topic starter
 

Ninguém??

=/

 
Postado : 16/11/2015 10:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Quanto o código.

Sub formula()
    Dim ws, wsAle As Worksheet
    Dim lr As Integer
    
    Set ws = Worksheets("Planilha1") 'Parametriza a guia Planilha1 como ws
    Set wsAle = Worksheets("AleVBA") 'Parametriza a guia AleVBA como wsAle
    
    Application.ScreenUpdating = 0 'Desativa a tela de atualização, deixando a macro mais rápida
    wsAle.Select 'Seleciona a aguia
    
    Columns("Y:Z").Delete 'Deleta as colunas "Y:Z"
    'Abaixo insere as formulas nas referidas células
    [Y2].Value = "Dia"
    [Z2].Value = "Tarefa"
    [Y3].formula = "=Planilha1!J3"
    [Y4].formula = "=Planilha1!L3"
    [Y5].formula = "=Planilha1!P3"
    [Y6].formula = "=Planilha1!R3"
    [Y7].formula = "=Planilha1!T3"
    [Y8].formula = "=Planilha1!V3"
    [Y9].formula = "=Planilha1!J7"
    [Y10].formula = "=Planilha1!L7"
    [Y11].formula = "=Planilha1!P7"
    [Y12].formula = "=Planilha1!R7"
    [Y13].formula = "=Planilha1!T7"
    [Y14].formula = "=Planilha1!V7"
    [Y15].formula = "=Planilha1!J11"
    [Y16].formula = "=Planilha1!L11"
    [Y17].formula = "=Planilha1!P11"
    [Y18].formula = "=Planilha1!R11"
    [Y19].formula = "=Planilha1!T11"
    [Y20].formula = "=Planilha1!V11"
    [Y21].formula = "=Planilha1!J15"
    [Y22].formula = "=Planilha1!L15"
    [Y23].formula = "=Planilha1!P15"
    [Y24].formula = "=Planilha1!R15"
    [Y25].formula = "=Planilha1!T15"
    [Y26].formula = "=Planilha1!V15"
    [Y27].formula = "=Planilha1!J19"
    [Y28].formula = "=Planilha1!L19"
    [Y29].formula = "=Planilha1!P19"
    [Y30].formula = "=Planilha1!R19"
    [Y31].formula = "=Planilha1!T19"
    [Y32].formula = "=Planilha1!V19"
    [Y33].formula = "=Planilha1!J23"
    '|--------------------|
    [Z3].formula = "=Planilha1!J4"
    [Z4].formula = "=Planilha1!L4"
    [Z5].formula = "=Planilha1!P4"
    [Z6].formula = "=Planilha1!R4"
    [Z7].formula = "=Planilha1!T4"
    [Z8].formula = "=Planilha1!V4"
    [Z9].formula = "=Planilha1!J8"
    [Z10].formula = "=Planilha1!L8"
    [Z11].formula = "=Planilha1!P8"
    [Z12].formula = "=Planilha1!R8"
    [Z13].formula = "=Planilha1!T8"
    [Z14].formula = "=Planilha1!V8"
    [Z15].formula = "=Planilha1!J12"
    [Z16].formula = "=Planilha1!L12"
    [Z17].formula = "=Planilha1!P12"
    [Z18].formula = "=Planilha1!R12"
    [Z19].formula = "=Planilha1!T12"
    [Z20].formula = "=Planilha1!V12"
    [Z21].formula = "=Planilha1!J16"
    [Z22].formula = "=Planilha1!L16"
    [Z23].formula = "=Planilha1!P16"
    [Z24].formula = "=Planilha1!R16"
    [Z25].formula = "=Planilha1!T16"
    [Z26].formula = "=Planilha1!V16"
    [Z27].formula = "=Planilha1!J20"
    [Z28].formula = "=Planilha1!L20"
    [Z29].formula = "=Planilha1!P20"
    [Z30].formula = "=Planilha1!R20"
    [Z31].formula = "=Planilha1!T20"
    [Z32].formula = "=Planilha1!V20"
    [Z33].formula = "=Planilha1!J24"
    'Acima insere as formulas nas referidas células
    Range("Y2:Z50").Value = Range("Y2:Z50").Value               'Cola as formulas como valores
         With wsAle.Columns("Z")                                'Aponta para a coluna Z da guia AleVBA
            .Rows(1).EntireRow.Delete                           'Deleta a linha 1
            .AutoFilter field:=1, Criteria1:=0                  'Filtra os valores iqual a Zero
            .Resize(Rows.Count - 1).Offset(1).EntireRow.Delete  'Deleta as linhas
            .AutoFilter                                         'Limpa o filtro
        End With
     Columns("A:X").Delete 'Deleta as colunas "A:X"
     Range("A2", Range("A" & Rows.Count).End(xlUp)).Copy ws.Range("B65536").End(xlUp)(2) 'Copia de A2 até a ultima linha populada dessa coluna e cola em B da guia Planilha1
     Range("B2", Range("B" & Rows.Count).End(xlUp)).Copy ws.Range("D65536").End(xlUp)(2) 'Copia de B2 até a ultima linha populada dessa coluna e cola em D da guia Planilha1
     Worksheets("Planilha1").Select 'Seleciona a guia Planilha1
     Call Macro1 'Chama a Macro1 que faz as bordas
    Application.ScreenUpdating = 1 'Ativa a tela de atualização.
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/11/2015 8:37 am
(@evilmaax)
Posts: 82
Trusted Member
Topic starter
 

Infelizmente não consegui =/

Mas agradeço, AlexandreVBA. Pela falta de tempo vou usar a planilha sem as macros.

Abraços

 
Postado : 19/11/2015 10:18 am