Notifications
Clear all

Dificuldade com Macro Simples

18 Posts
3 Usuários
0 Reactions
3,291 Visualizações
(@jpherarth)
Posts: 26
Eminent Member
Topic starter
 

Pessoal, podem em ajudar?

Por que esta macro, além de dar erro 100, está super lenta?

Sub AtualizarDDE()
Dim Ativo As String
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
Linha = 3

Do While Ativo <> 0
Ativo = Worksheets("Parameters").Cells(Linha, 1).Value
Worksheets("Parameters").Cells(Linha, 2).Value = "=TZ|" + Ativo + ".abe"
Worksheets("Parameters").Cells(Linha, 3).Value = "=TZ|" + Ativo + ".max"
Worksheets("Parameters").Cells(Linha, 4).Value = "=TZ|" + Ativo + ".min"
Worksheets("Parameters").Cells(Linha, 5).Value = "=TZ|" + Ativo + ".ult"
Worksheets("Parameters").Cells(Linha, 6).Value = "=TZ|" + Ativo + ".qtt"
Worksheets("Parameters").Cells(Linha, 7).Value = "=TZ|" + Ativo + ".neg"
Worksheets("Parameters").Cells(Linha, 8).Value = "=TZ|" + Ativo + ".fec"
Worksheets("Parameters").Cells(Linha, 9).Value = "=TZ|" + Ativo + ".var"
Linha = Linha + 1
Loop

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

 
Postado : 20/01/2015 7:47 am
(@jpherarth)
Posts: 26
Eminent Member
Topic starter
 

Alguem saberia nos ajudar?

 
Postado : 20/01/2015 1:50 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Cara, não tenho uma referencia em minha biblioteca no VBE, então não consigo te ajudar muito, mas observei que algumas células o Excel aceita.

Executa o código assim:

Sub AtualizarDDE()
Dim i           As Long
Dim Linha       As Long
Dim Ativo       As Variant
Dim wsParam     As Worksheet
Dim Extencao()  As Variant
On Error Resume Next

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False

Linha = 3
Set wsParam = ThisWorkbook.Worksheets("Parameters")
Ativo = wsParam.Cells(Linha, 1).Value
Extencao = Array(".abe", ".max", ".min", ".ult", ".qtt", ".neg", ".fec", ".var")

    Do While Ativo <> 0
        Ativo = wsParam.Cells(Linha, 1).Value
        For i = 2 To 9
            wsParam.Cells(Linha, i).Value = "=TZ|" & Ativo & Extencao(i - 2)
        Next i
        Linha = Linha + 1
    Loop

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/01/2015 6:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Creio que deva substituir; no modelo que o Bernardo publicou, o ponto "." por interrogação "!", visto que a sintaxe para o TZ é +/- assim TZ|IBOV!ABE; porem o aplicativo Tz.exe deve estar ativo ou resultará em erro
tem uma plan exemplo em http://tradezone.helpserve.com/Knowledg ... zddeserver

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/01/2015 12:11 pm
Página 2 / 2