Estou tentando copiar para o excel os dados de usuários a partir do id da página de cada usuário e transportar para o excel
Tenho o seguinte endereço do primeiro usuário: https://intranet/?p=1 onde muda apenas o final= p=2, p=3 e assim por diante, então fiz a macro desta forma:
Sub Macro4()
' Macro4 Macro
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://intranet/?p=1", Destination:=Range("$J$1"))
.Name = "?p=1"
.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").Select
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("J:J").Select
Application.CutCopyMode = False
Selection.QueryTable.Delete
Selection.ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://intranet/?p=2", Destination:=Range("$J$1"))
.Name = "?p=2"
.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").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("J:J").Select
Application.CutCopyMode = False
Selection.QueryTable.Delete
Selection.ClearContents
End Sub
veja, consigo copiar o usuário "1" seleciono os dados que preciso, copio e colo na coluna "d1" os dados que preciso e apago para que eu possa copiar o segundo usuário: copio o que quero colo na colna "d2" e após apago as demais informações.
Até ai sem problema. O problema é que tenho 150.000 mil usuários, ou seja, preciso adaptar esta formula para que ela tenha um loop até 150.000 mil copiando e colando cada usuário até o término.
Será que da?
Postado : 21/02/2017 1:39 pm