Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#20433
Prezados estou rodando uma macro, no término do trabalho quero que a planilha salve automaticamente.

Estou fazendo assim no final de minha macro.
Código: Selecionar todos
ActiveWorkbook.save
O problema é que estou recebendo uma mensagem após clicar em salvar:

"Esta pasta de trabalho contém dados externos. Deseja que o Microsoft Excel apague os dados antes de salvar o modelo e depois os atualize automaticamente sempre que esse modelo for aberto?"

Abaixo desta mensagem tenho as opções: Sim, não e Cancelar

Tem alguma forma de escolher "Sim" nesta mensagem que aparece e salvar automaticamente? Como faço isso, dei uma boa pesquisada aqui mas não achei uma solução
#20490
Hudson,

Estes dados externos são apenas vinculos com outras pastas de trabalho ou vc não utiliza isso? Apareceu do nada?

Se for links externos, utilize:

Application.DisplayAskUpdateLinks = 0

No começo do código e no final, depois do ThisWorkbook.save adicione

Application.DisplayAskUpdateLinks = 1

Para devolver a config.

Poste seu exemplo em anexo aqui, é melhor para a galera lhe ajudar.
#20540
Olá Junior tudo joia?

Eu uso os dados externos de nossa intranet, a mensagem que citei apareceu derrepente sempre que abro ou atualizo a macro

A Macro em questão foi adaptada e o Osvaldo me ajudou finaliza-la, da uma olhada:
Código: Selecionar todos
Sub Macro4V2()
' Macro4 Macro
   Dim i As Long
    For i = 301 To 600
    
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;https://intranet/?p=" & i & "", Destination:=Range("$J$1"))
        .Name = "?p=" & i & ""
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
      End With
    Range("J3:J5").Copy
    Cells(Rows.Count, 2).End(3)(2).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Columns("J:J") = ""
    Next i
    
        Columns("C:C").Select
    Selection.Replace What:="  Maiores informações: ", Replacement:="", LookAt _
        :=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Columns("D:D").Select
    Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("A1").Select
    
    ActiveWorkbook.Save
    MsgBox "Download de dados efetuados com sucesso!"
End Sub

engraçado que esta macro trava quando tento puxar mais do que 500 contatos
#20573
Hudson será q vc pode anexar um exemplo dos dados q vc quer extrair e a planilha p/ a qual vc está puxando os dados, pois isso pode ajudar eventualmente na solução do seu problema.

Boa parte da chamada do Query Table pode ser dispensada, pois vc usa os valores padrão (verde) e penso q as aspas destacadas em vermelho tb são dispensáveis.

================================================================
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://intranet/?p=" & i & "", Destination:=Range("$J$1"))
.Name = "?p=" & i & ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
#20706
Olá DJunqueira, tudo joia?


depois que copio a página e colo na célula do excel ele me traz assim:
Código: Selecionar todos
Olá, bem-vindo ao meu site pessoal intranet!
Elizangela de jesus miranda | ID: 130000
  Maiores informações: (64) 9920 64443    
  elizangeladejesusmiranda@hotmail.com
DESEJA REALIZAR
SEU CADASTRO?
Cadastre-se Agora!
DESEJA COMPRAR
PRODUTOS?
Compre Agora!
VEJA AS INÚMERAS VANTAGENS DE SE TORNAR
UM DISTRIBUIDOR INDEPENDENTE.:

UM NEGÓCIO ACESSÍVEL
Comece agora mesmo!
Cadastre-se Agora!
O VALOR INCLUI:

Eu utilizo apenas as linhas 2, 3 e 4
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord