Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


olivier editaram um question.

como Como posso converter um macro criado no excel 2007 que me dá os feriados como forma de função

[Public Function VerificaSeFeriado(dDataX As Date) As Boolean

Dim FeriadosFixos(9) As String

Dim FeriadosMoveis(2) As Date

Dim iAnoX As Integer

Dim dPascoa As Date

Date

iAnoX = Year(dDataX)

dPascoa = CalculaPascoa(iAnoX)

FeriadosFixos(0) = "1/1"             'Confraternização Universal

FeriadosFixos(1) = "21/4"            'Tiradentes

FeriadosFixos(2) = "1/5"             'Trabalho

FeriadosFixos(3) = "7/9"             'Independência do Brasil

FeriadosFixos(4) = "20/9"            'Revolução Farroupilha

FeriadosFixos(5) = "12/10"           'Nossa Senhora Aparecida

FeriadosFixos(6) = "2/11"            'Finados

FeriadosFixos(7) = "15/11"           'Proclamação da Repúplica

FeriadosFixos(8) = "25/12"           'Natal

FeriadosFixos(9) = "2/2"             'Navegantes

'Navegantes

FeriadosMoveis(0) = DateAdd("d", -2, dPascoa)       'Sexta Paixão

FeriadosMoveis(1) = DateAdd("d", -47, dPascoa)      'Carnaval

FeriadosMoveis(2) = DateAdd("d", 60, dPascoa)       'Corpus Christi

Christi

Select Case dDataX

Case FeriadosFixos(0), FeriadosFixos(1), FeriadosFixos(2), FeriadosFixos(3), FeriadosFixos(4), 
FeriadosFixos(5), FeriadosFixos(6), FeriadosFixos(7), FeriadosFixos(8), FeriadosFixos(9)

VerificaSeFeriado = True

Case FeriadosMoveis(0), FeriadosMoveis(1), FeriadosMoveis(2)

VerificaSeFeriado = True

Case Else

VerificaSeFeriado = False

End Select

Select

End Function

Function

Private Function CalculaPascoa(iAno As Integer) As Date

Dim A As Integer

Dim B As Integer

Dim c As Integer

Dim D As Integer

Dim E As Integer

Dim F As Integer

Dim G As Integer

Dim H As Integer

Dim I As Integer

Dim J As Integer

Dim K As Integer

Dim L As Integer

Dim M As Integer

Dim N As Integer

Dim P As Integer

Dim Q As Integer

Dim R As Integer

Dim S As Integer

Integer

A = iAno \ 100      'o inteiro de (Ano ÷ 100)

B = iAno Mod 19     'o resto de (Ano ÷ 19)

c = (A - 17) \ 25   'o inteiro de [(A - 17) ÷ 25]

D = A \ 4           'o inteiro de (A ÷ 4)

E = (A - c) \ 3     'o inteiro de [(A - C) ÷ 3]

F = (A - D - E + (19 * B) + 15) Mod 30    'o resto de {[A - D - E + (19xB) + 15] ÷ 30}

G = F \ 28          'o inteiro de (F ÷ 28)

H = 29 \ (F + 1)    'o inteiro de [29 ÷ (F + 1)]

I = (21 - B) \ 11   'o inteiro de [(21 - B) ÷ 11]

J = G * H * I

K = F - (G * (1 - J))

L = iAno \ 4         'o inteiro de (Ano ÷ 4)

M = (iAno + L + K + 2 - A + D) Mod 7       'o resto de [(Ano + L + K + 2 - A + D) ÷ 7]

N = K - M

P = (N + 40) \ 44    'o inteiro de [(N + 40) ÷ 44]

Q = 3 + P

R = Q \ 4           'o inteiro de (Q ÷ 4)

S = N + 28 - (31 * R)

R)

CalculaPascoa = CDate(S & "/" & Q & "/" & iAno)

iAno)

End Function]Function]

Para mudar a frequência e conteúdo dos alertas, visite seu perfil de usuário.

Se achar que essa mensagem foi enviada por engano, avise o administrador do forum em 
evgeny.fadeev@gmail.com.

Atenciosamente,Administrador do
-- 
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
  mande e-mail vazio para usuarios+unsubscribe@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
  usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.