Transformar Macros VBA do Excel em VB

Boa tarde pessoal do GUJ,
Eu já postei uma coisa parecida com isso aqui no GUJ, mais depois de conversar muito com meus professores, eles me falarão que transformar Macros VBA do Excel em java seria muito difícil, só que terão uma dica de transformar Macros VBA do Excel para Virtual Basic (VB) que seria muito mais fácil, pq a parte do formulário seria muito mais fácil, só tem um problema eu não sei programar em VB e nem em Macros VBA do Excel. E meus professores também não conhece a linguagem Macros VBA do Excel.
Então se alguns ai no GUJ sabe programar em VB e Macros VBA do Excel, poderia me ajudar a traduzir Macros VBA do Excel para VB?
Traduzindo o código em si ou traduzir por intermédio de um programa ou se tem livro ou pagina na internet que me ajude.
Outra coisa eu baixei este Macros VBA do Excel da internet e queria transformar em um programa .exe
Muito Obrigado pela ajuda.

Vou colocar um pedaço do código em Macros VBA do Excel: :arrow:

[code]
Private Sub Worksheet_Change(ByVal Target As Range)

If (Target.Column = 3 And Sheets(3).Range(“A3”) = 0) Then
contartimes
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Column = 3 And Sheets(3).Range(“A3”) = 0) Then
contartimes
End If
End Sub

Private Sub Worksheet_Deactivate()

On Error Resume Next

contartimes2

Sheets(14).Range(“N6:N69”).Value = Sheets(3).Range(“C8:C71”).Value
Sheets(6).Range(“T1”).Value = Sheets(3).Range(“E7”).Value
Sheets(14).Calculate
Sheets(6).Calculate

End Sub

Private Sub contartimes()

Dim linha As Integer
Dim cont As Integer

Sheets(3).Range(“A3”) = 1

For linha = 1 To 64
If (Sheets(3).Cells(linha + 7, 3) <> “”) Then
cont = cont + 1
End If
Next linha

Sheets(3).Range(“E7”) = cont

Sheets(3).Range(“A3”) = 0

End Sub

Private Sub contartimes2()

Dim linha As Integer
Dim cont As Integer
Dim time(64) As String

Sheets(3).Range(“A3”) = 1

For linha = 1 To 64
If (Sheets(3).Cells(linha + 7, 3) <> “”) Then
cont = cont + 1
time(cont) = Sheets(3).Cells(linha + 7, 3)
End If
Next linha

For linha = 1 To 64
If (linha <= cont) Then
Sheets(3).Cells(linha + 7, 3) = time(linha)
Else
Sheets(3).Cells(linha + 7, 3) = ""
End If
Next linha

Sheets(3).Range(“E7”) = cont

Sheets(3).Range(“A3”) = 0

End Sub[/code]

O que essa planilha faz ?? contartimes ??

No caso do excel, a macro trabalha sobre a planilha (que é como se fosse a parte visual do sistema). Nesse caso é preciso da planilha como um todo para entender o que tem nas célular citadas no programa e poder migrar para outra tecnologia.

É possivel migrar para qualquer outra tecnologia, entretanto, acho que dificilmente vai conseguir pegar algo que faça essa conversão de forma automática, por estar interagindo diretamente com a planilha.

Como se trata de um programa aparentemente muito simples, compensa mais reescrever em outra tecnologia qualquer com outra parte visual (pode até mesmo ser web) e apenas aproveitar os algoritmos de calculo.

[quote=jmmenezes]O que essa planilha faz ?? contartimes ??

No caso do excel, a macro trabalha sobre a planilha (que é como se fosse a parte visual do sistema). Nesse caso é preciso da planilha como um todo para entender o que tem nas célular citadas no programa e poder migrar para outra tecnologia.

É possivel migrar para qualquer outra tecnologia, entretanto, acho que dificilmente vai conseguir pegar algo que faça essa conversão de forma automática, por estar interagindo diretamente com a planilha.

Como se trata de um programa aparentemente muito simples, compensa mais reescrever em outra tecnologia qualquer com outra parte visual (pode até mesmo ser web) e apenas aproveitar os algoritmos de calculo.[/quote]

Esta é uma parte da planilha tem muito mais planilhas no Excel que eu baixei da internet, alem de planilha tem formulários e módulos.

Se vc quiser esta planilha esta no site nacopa.net (http://tabela-do-brasileirao.blogspot.com.br/) ai se vc quiser dar um olhada e depois me dar umas dicas de como eu devo fazer. vc sabe programar em VB?

Eu vi vários vídeo no youtube sobre VB e achei meio fácil e também gostei muito, pq este programa consegue fazer um arquivo executável (.exe).

Bom eu queria realmente transformar Macro VBA em VB.

Obrigado pela ajuda
Meu e-mail para contado jobsonyg@hotmail.com

Você pode escrever um programa VB que inclui uma planilha dentro dele (ou seja, é só uma casquinha para chamar uma planilha do Excel.)

Dessa forma, você é obrigado a ter instalado no computador que vai rodar esse programa uma versão do Excel que foi usado para construir o programa.

Não existe algo como “compilar uma planilha para .exe” - você precisa do Excel para rodar essas funções VBA. Certo?

[quote=entanglement]Você pode escrever um programa VB que inclui uma planilha dentro dele (ou seja, é só uma casquinha para chamar uma planilha do Excel.)

Dessa forma, você é obrigado a ter instalado no computador que vai rodar esse programa uma versão do Excel que foi usado para construir o programa.

Não existe algo como “compilar uma planilha para .exe” - você precisa do Excel para rodar essas funções VBA. Certo?
[/quote]

mais como faço isso que vc acabou de falar “programa VB que inclui uma planilha dentro dele (ou seja, é só uma casquinha para chamar uma planilha do Excel.)”?
certo eu tenho que ter o Excel para rodar o VBA, o caso é que eu quero transformar esta linguagem do VBA para VB entendeu. assim ele viraria um .exe

O que dá para fazer: você pode escrever um programa em VB.NET ou C# usando um componente chamado OWC (Office Web Components).
Esse componente permite a você incorporar uma planilha Excel dentro do seu programa, e chamar alguns métodos.
Se sua planilha usa VBA, ela vai continuar a usar VBA - você não vai ter nenhuma conversão de código VBA para VB.NET ou C#, já que são coisas com propósitos diferentes.

[quote=Jobson Yonaha Gimenez][quote=jmmenezes]O que essa planilha faz ?? contartimes ??

No caso do excel, a macro trabalha sobre a planilha (que é como se fosse a parte visual do sistema). Nesse caso é preciso da planilha como um todo para entender o que tem nas célular citadas no programa e poder migrar para outra tecnologia.

É possivel migrar para qualquer outra tecnologia, entretanto, acho que dificilmente vai conseguir pegar algo que faça essa conversão de forma automática, por estar interagindo diretamente com a planilha.

Como se trata de um programa aparentemente muito simples, compensa mais reescrever em outra tecnologia qualquer com outra parte visual (pode até mesmo ser web) e apenas aproveitar os algoritmos de calculo.[/quote]

Esta é uma parte da planilha tem muito mais planilhas no Excel que eu baixei da internet, alem de planilha tem formulários e módulos.

Se vc quiser esta planilha esta no site nacopa.net (http://tabela-do-brasileirao.blogspot.com.br/) ai se vc quiser dar um olhada e depois me dar umas dicas de como eu devo fazer. vc sabe programar em VB?

Eu vi vários vídeo no youtube sobre VB e achei meio fácil e também gostei muito, pq este programa consegue fazer um arquivo executável (.exe).

Bom eu queria realmente transformar Macro VBA em VB.

Obrigado pela ajuda
Meu e-mail para contado jobsonyg@hotmail.com[/quote]

Pelo que estou entendendo você não sabe programar… então acho que primeiro precisa aprender o basico de programação… lógica… algoritmo… etc…
Também acho que aprender VB nos dias de hoje é perder tempo, pois trata-se de uma tecnologia obsoleta. Você pode aprender VB.NET ou C# no ambiente .NET ou senão aprender Java.

Tem diversos cursos que você pode fazer, bem como comprar livros (se for auto-didata)… muitos videos também ajudam, mas acho que uma base teórica de lógica de programação é importante (devem ter videos para isso também).

Ninguem aprende a programar apenas assistindo alguns videos do youtube ou em algumas semanas…

Que tal começar aprendendo VBA e entender exatamente o que esta macro esta fazendo ? Também existem livros… cursos… etc

valeu pessoal pelas dicas que todos me passarão, foi de grande ajuda.
mesmo assim estarei esperando mais dicas ta
obrigado

Jobson, cuidado com os verbos - você escreveu “falarão” e “passarão” , que estão no futuro.

Seus professores ainda não te falaram nada (passado) , mas vão falar (falarão) depois?
As pessoas ainda não te passaram as dicas (passado), mas vão passar (passarão) depois?

Eu sei que estou sendo chato, mas quem for ler seu texto com cuidado vai acabar tendo uma impressão errada. Isso pode lhe custar pontos em uma entrevista de emprego, onde o pessoal do RH costuma passar uma redação e vê se você consegue escrever passavelmente.

Para ter uma ideia melhor de como saber a diferença entre “passaram” e “passarão”, basta ver que o acento fica em lugar diferente - “passaram” é pronunciado “paSSArão” e “passarão” é pronunciado “passaRÃO”.

(No português arcaico, escrevia-se algo que é mais parecido com o que a gente fala, que é “passarom” para o passado e “passaram” para o futuro - não havia “ão” nessa época).