Ayuda con Macro QueryTables....

09/10/2007 - 02:43 por Murphy | Informe spam
La siguiente macro la grabe con el editor de Visual Basic.

Lo que haces es exportar a una hoja de Excel, determinada información
que se delimita mediante la herramienta: Obtener datos externos/ Nueva
consulta web.

La información la coloca desde "A1" hasta "A17"

A B C
D E F G
1 Tienda :
101-A Sku : 31545 Descripción : TARJETA DE VARIOS
2
3 Meses Unidades Ventas Existencia ActualCosto ActualConsumo D/PDias
Inventario
4 Vendidas Ult. 8 Sem
5 Octubre 0 Sem 1 0 1 478 0.07 14.29
6 Septiembre 7 Sem 2 2
7 Agosto 1 Sem 3 0
8 Julio 2 Sem 4 0
9 Junio 2 Sem 5 4
10 Mayo 1 Sem 6 1
11 Abril 3 Sem 7 0
12 Marzo 1 Sem 8 1
13 Febrero 2
14 Enero 1
15 Diciembre 3
16 Noviembre 3
17 Total 26 8


la fila A2 es una vacia que deberia eliminarse, el codigo que utiliza
es el siguiente:


With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://www.provedor.com.mx/FDSF/FDGFG.PGM?
Cuenta3&Loginid=MANT&Password=OTRO&Numpro2&NumTie1&NumArt121&XMiem=&Filler=A&"
_
, Destination:=Range("A1"))
.Name = _
"FDFD.PGM?
Cuenta3&Loginid=MANT&Password=OTRO&NumproU5&NumTie1&NumArt4511&XMiem=&Filler=A&_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "6,9"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub

este es el caso para la tienda 101, como puedo hacer para que una vez
eliminada A2 (es decir en vez de 17 filas debe dejar solo 16 filas
para cada tienda), inmediantamente despues mediante la consulta en
Visual coloque la siguiente tienda 102, 103, 104, hasta la 523.

Espero me puedan ayudar, como se daran cuenta soy principiante con
esto de las Macros.

Por su atencion Gracias y hasta pronto
 

Leer las respuestas

#1 Héctor Miguel
09/10/2007 - 06:03 | Informe spam
hola, (...) ?

La siguiente macro la grabe con el editor de Visual Basic.
Lo que haces es exportar a una hoja de Excel, determinada informacion
que se delimita mediante la herramienta: Obtener datos externos/ Nueva consulta web.
La informacion la coloca desde "A1" hasta "A17"
la fila A2 es una vacia que deberia eliminarse, el codigo que utiliza es el siguiente:
este es el caso para la tienda 101, como puedo hacer para que una vez eliminada A2
(es decir en vez de 17 filas debe dejar solo 16 filas para cada tienda)
inmediantamente despues mediante la consulta en Visual coloque la siguiente tienda 102, 103, 104, hasta la 523.



es probable que lo siguiente sea relevante (o no), pero por si las dudas, convendria si aclaras estos puntos:

- que relacion existe entre el argumento: -> .WebTables = "6,9" <- y la tabla/tienda/nombre/... o lo que sea de cada consulta ?

- que relacion existe entre las -posibes- diferencias en las cadenas de la conexion y el nombre y los datos de la tabla a traer ?
Query...Connection: FDGFG.PGM? | Numpro2 | NumArt121
QueryTable...Name: FDFD.PGM? | NumproU5 | NumArt4511

- una vez eliminada la fila 2 (de la primer tabla), en cual celda debiera insertarse la tabla de la tienda siguiente ? (y las que siguen ?)

- siempre seran consultas que devuelven 17 filas (para eliminar siempre la segunda en cada una ?)

saludos,
hector.

__ el codigo expuesto __
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://www.provedor.com.mx/FDSF/FDGFG.PGM?Cuenta3&Loginid=MANT&Password=OTRO&Numpro2&NumTie1&NumArt121&XMiem=&Filler=A&" _
, Destination:=Range("A1"))
.Name = _
"FDFD.PGM?
Cuenta3&Loginid=MANT&Password=OTRO&NumproU5&NumTie1&NumArt4511&XMiem=&Filler=A&_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "6,9"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub

__ la tabla expuesta (obviamente en los foros pasan diferente de la intencion) :-(( __
A B C D E F G
1 Tienda : 101-A Sku : 31545 Descripción : TARJETA DE VARIOS
2
3 Meses Unidades Ventas Existencia ActualCosto ActualConsumo D/PDiasInventario
4 Vendidas Ult. 8 Sem
5 Octubre 0 Sem 1 0 1 478 0.07 14.29
6 Septiembre 7 Sem 2 2
7 Agosto 1 Sem 3 0
8 Julio 2 Sem 4 0
9 Junio 2 Sem 5 4
10 Mayo 1 Sem 6 1
11 Abril 3 Sem 7 0
12 Marzo 1 Sem 8 1
13 Febrero 2
14 Enero 1
15 Diciembre 3
16 Noviembre 3
17 Total 26 8

Preguntas similares