Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#41000
Olá, boa noite a todos. Gostaria de solicitar a ajuda de vocês, estou quebrando um pouco a cabeca para resolver esse probleminha, por gentileza, quem puder me ajuda fico muito agradecido.

Nessa Planilha que consta ai em Anexo, Ao abrir o Formulario e preencher com os numeros queria que ele automaticamente fosse para a parte de 10H, e ficasse um em baixo do outro, depois de preencher até o numero 5, ele pulasse para a tabela ao lado que é a de 12h, depois pulasse para a tabela de 15h.... Depois de preencher essa tabela dessa Data, ele pular para a outra data de baixo e começar com a tabela de 10h e fosse preenchendo a mesma coisa..
Você não está autorizado a ver ou baixar esse anexo.
#41023
Experimente:
Código: Selecionar todos
Private Sub bt_registro_Click()
 Dim k As Long, x As Long, i As Long
  If [AA1] = "" Then
   k = 8: x = 11: [AA1] = 10: [AB1] = 11
  Else: k = [AA1]: x = [AB1]
   If [AA1] < 16 Then
    [AA1] = [AA1] + 2
   Else: [AA1] = 8: [AB1] = [AB1] + 10
   End If
  End If
    For i = 1 To 10
     Cells(i + x - 1, k) = Me.Controls("Resultado" & i).Value: Me.Controls("Resultado" & i).Value = ""
     If i = 5 Then k = k + 1: x = x - 5
    Next i
   Resultado1.SetFocus
End Sub
#41025
Olá, Osvaldo. Funcionou, só que tipo Osvaldo, se eu inserir os numeros ele preenche um em baixo do outro, não teria como ser preenchido um do lado do outro e depois ir descendo? Ex: 10 20
40 30

E quando eu apago os numeros Osvaldo, inves de começar onde os numeros foram apagados, ele vai descendo pra outra tabela e não teria como ao inserir os numeros ele selecionar a tabela que foi inserada para poder ser verificado se os numeros foram preenchido certos?
#41027
leonesurf escreveu:... não teria como ser preenchido um do lado do outro e depois ir descendo?
Você quer preencher primeiro H11:Q11, depois H12:Q12, depois H13:Q13, ... , é isso ?

E quando eu apago os numeros Osvaldo, inves de começar onde os numeros foram apagados, ele vai descendo pra outra tabela
Se você limpar H11:Q11 limpe também AA1:AB1 para reiniciar, pois o código utiliza essas duas células como auxiliares.
#41029
Ah! Beleza. Pra preencher primeiro assim: H11:I11, H12:I12, H13:I13, H14:I14, H15:I15, J11:K11, J12:K12....
Não tem como ao preencher aquela UserForm com os 10 numeros, ela ser selecionada a onde foi preenchida os numeros?
#41030
leonesurf escreveu:Ah! Beleza. Pra preencher primeiro assim: H11:I11, H12:I12, H13:I13, H14:I14, H15:I15, J11:K11, J12:K12.... ~~~> entendi, vou fazer as alterações

Não tem como ao preencher aquela UserForm com os 10 numeros, ela ser selecionada a onde foi preenchida os numeros?
Amigo, essa parte em vermelho eu não tenho ideia do que você está querendo dizer :?: :?: :?:
#41031
Tipo Osvaldo, quando eu preencher essa tabela por exemplo: H11:I11, H12:I12, H13:I13, H14:I14, H15:I15, essa parte preenchida, vai ser formada pelos 10 quadrados da UserForm. Quando essa parte for preenchida, ela automaticamente ser selecionada, para assim saber onde foi preenchida e analisar se foi preenchida com os numeros certos.
#41035
leonesurf escreveu: Quando essa parte for preenchida, ela automaticamente ser selecionada, para assim saber onde foi preenchida e analisar se foi preenchida com os numeros certos.
Eu sugiro outro caminho pra você conferir: antes de carregar o Form selecione manualmente na planilha o próximo intervalo a ser preenchido pelo código.
Para preencher na sequência H11:I11, H12:I12, H13:I13, H14:I14, H15:I15 ,... coloque o código abaixo no lugar do anterior e limpe AA1:AB1.
Código: Selecionar todos
Private Sub bt_registro_Click()
 Dim k As Long, x As Long, i As Long
  If [AA1] = "" Then
   k = 8: x = 11: [AA1] = 10: [AB1] = 11
  Else: k = [AA1]: x = [AB1]
   If [AA1] < 16 Then
    [AA1] = [AA1] + 2
   Else: [AA1] = 8: [AB1] = [AB1] + 10
   End If
  End If
    For i = 1 To 10
      Cells(x, k) = Me.Controls("Resultado" & i).Value: Me.Controls("Resultado" & i).Value = ""
      k = k + 1
      If i Mod 2 = 0 Then k = k - 2: x = x + 1
    Next i
   Resultado1.SetFocus
End Sub
#41036
Beleza. Mas mesmo selecionando só o ultimo quadrado preenchido, não tem como Osvaldo? Porque esse resultado ficaria bem em baixo da planilha, lá pelo numero 2035, ao pra não ter que descer e conferir...

Amigo, qual desses codigos posso alterar para usar em outra planilha?
#41039
leonesurf escreveu:... selecionando só o ultimo quadrado preenchido, ...
Acrescente a linha em vermelho, conforme abaixo.
Resultado1.SetFocus
Cells(x - 1, k + 1).Select
End Sub


Amigo, qual desses codigos posso alterar para usar em outra planilha?
Fique à vontade para escolher. :)
#41044
Osvaldo, o Tabela do Resultado da outra Planilha está:

A primeira tabela de resultado está entre: E2021:O225
A Segunda tabela de resultado está entre: E2031:O235
A Terceira tabela de resultado está entre: E2041:O245
A Quarta tabela de resultado está entre: E2051:O255

E essas Colunas que são gerados os numeros: AA1:AB1 eu iria colocar na outra planiha: C2018 e D2018
#41045
Esses intervalos que você colocou estão estranhos ~~~> E2021:O225 :?:

Disponibilize a planilha e indique onde você quer os resultados.
#41062
......
......

Antes de testar o código abaixo "arrume" a sua planilha: reexiba a coluna N e exclua a coluna O.

Código: Selecionar todos
Private Sub bt_registro_Click()
 Dim k As Long, x As Long, i As Long
  If [C2018] = "" Then
   k = 5: x = 2021: [C2018] = 7: [D2018] = 2021
  Else: k = [C2018]: x = [D2018]
   If [C2018] < 13 Then
    [C2018] = [C2018] + 2
   Else: [C2018] = 5: [D2018] = [D2018] + 10
   End If
  End If
    For i = 1 To 10
      Cells(x, k) = Me.Controls("Resultado" & i).Value ': Me.Controls("Resultado" & i).Value = ""
      k = k + 1
      If i Mod 2 = 0 Then k = k - 2: x = x + 1
    Next i
   Resultado1.SetFocus
   Cells(x - 1, k + 1).Select
End Sub
#41064
E ai Osvaldo, funfou certinho. Só que queria te pedir mais uma ajuda, é porque minha planilha que vou usar esses codigos, ela está com a Coluna F oculta, não tem condições de funcionar com uma coluna oculta? Agora em anexo, tem o modelo da forma como está a minha planilha.
Você não está autorizado a ver ou baixar esse anexo.
#41068
leonesurf escreveu:... não tem condições de funcionar com uma coluna oculta?
Faça o teste! Se não funcionar corretamente reexiba a coluna F, rode o código e em seguida volte a ocultá-la.
Se bem que não vejo sentido em ocultar uma coluna que irá receber dados. :?:
Mais do que isso eu não consigo te ajudar. ;)
#41070
Repetindo:
osvaldomp escreveu:
Faça o teste! Se não funcionar corretamente reexiba a coluna F, rode o código e em seguida volte a ocultá-la.
Se bem que não vejo sentido em ocultar uma coluna que irá receber dados. :?:
Mais do que isso eu não consigo te ajudar. ;)
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord