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.