Ir para conteúdo
Fórum Script Brasil
  • 0

Pegar a string "/" na função MID


LeoAmorim

Pergunta

Bom primeiramente queria já dar meus parabéns ao site que está ajudando muito nessa minha iniciação !

Começando:

Estou no primeiro módulo de um curso técnico de informática, portanto não sei muito de programação, e a nota de AC(Aplicativos Computacionais) desse primeiro módulo é fazer um projeto em Excel que utiliza VBA.

Não vou explicar o problema todo senão acho que irá ficar cansativo e acho que não vem ao caso, resumindo eu preciso que uma variável minha(no caso abaixo "b") inicie na data 01/01(primeiro de janeiro) do ano que a pessoa ta usando o programa.

Meu primeiro problema:

Declarei a váriavel e tentei atribuir a data a ela:

Dim b as Date

b = 1 / 1 / 2009
mas desse jeito o sistema pega um horário, e fica assim na váriavel b quando colocado mouse por cima b=00:00:43 então eu pensei, bom vou ter que fazer de um jeito mais dificil... Vou pegar a data do sistema, usar a função Mid e ir reduzindo a data até ser 1 e 1 o mid do dia e do mês respectivamente, só que nesse código que eu fiz, eu necessito que a função MID pegue a "/" pois o local é diferente dependendo da data ( Exemplo:"1/2/2009" e "10/10/2009"). E a função Mid quando deveria retornar "/" , ela retorna 0, vou postar o código:
Dim ajuda(1 To 8) As String
Dim posicao As Integer
Dim k, k2 As String
Dim f As String
Dim b As Date
Dim x, z As Integer

b = Date

Do While k <> "1" Or k2 <> "1"

z = 1
x = 1
Do While f <> "/"
f = Val(Mid$(b, x, 1))

If f <> "/" Then
ajuda(z) = f
z = z + 1
End If

If f = "/" Then
posicao = x
teste = x
End If

x = x + 1
Loop

posicao = posicao + 1

Do While g <> "/"
g = Val(Mid$(b, posicao, 1))

If g <> "/" Then
ajuda(z) = g
z = z + 1
End If

If g = "/" Then
teste2 = posicao
End If

posicao = posicao + 1

Loop

If teste = 3 Then
k = ajuda(1) & ajuda(2)
End If

If teste = 2 Then
k = ajuda(1)
End If

If teste2 = 4 Then
k2 = ajuda(2)
End If

If teste2 = 5 And teste = 2 Then
k2 = ajuda(2) & ajuda(3)
End If

If teste2 = 5 And teste = 3 Then
k2 = ajuda(3)
End If

If teste2 = 6 Then
k2 = ajuda(5)
End If

b = b - 1
Loop

Obs: Sou iniciante em programação e em vba. E esse código ta dentro de uma Sub que tem mais códigos que eu acho que não interessariam em nada, pois esse é o primeiro código e o erro acontece no "ajuda(z)=f" porque a função Mid não ta retornando "/" e sim 0, dai nunca termina o "Do While".

Bom, alguma dúvida sobre o código pergunte que eu venho esclarecer.... se puderem me ajudar arrumando meu código ou dando uma sugestão de como eu resolvo esse problema, ficaria grato.

Abraços.

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...