Casi.....

26/01/2005 - 15:26 por vasak | Informe spam
Hola buenas, antes de nada muchas gracias, y ahora comentar que esa
macro es muy cercano al que necesito, pero no empieza en la primera
linea, empieza en la segunda, y la disposicion exacta es:

explicacion: A es un nombre, B es la numeracion para tratar los datos
como campos, C es una direccion y D es la numeracion para tratar los
datos como campos..

A B C D
1
2 0
3 1
4 2
5 3* 0
6 1
7 2
8 3


ahora aqui tiene que haber 101 celdas vacias hacia abajo DESDE EL 3
CON EL ASTERISCO HASTA EL 0, 101 CELDAS mas abajo..(mirar ejemplo
abajo).. hasta que se vuelva a poner la doble secuencia de 0 1 2 3 en
la misma disposicion del mismo primer ejemplo (para ser exacto desde
la 6 hasta la 107 y en la 108 volver a colocar la secuencia de arriba,
y asi sucesivamente, osea 2º ejemplo de la 112 a la 213, y en la 214
volver a poner la secuencia de arriba..el 0 1 2 3, en la misma
disposicion que al principio del archivo...), espero haberme explicado
bien, y asi hacer bastantes hacia abajo, pues los archivos suelen
tener unos 150 campos nombre/direccion con sus respectivos espacios.

Espero haberme explicado bien, me seria utilisimo, imaginate lo que es
cambiarlos a mano, con copy and paste, :""(((

Un saludo.



ejemplo:


A B C D
1
2 0
3 1
4 2
5 3* 0
6 1
7 2
8 3
...
... vacias
...
A B C D
108 0
109 1
110 2
111 3* 0
112 1
113 2
114 3
...
... vacias
...
A B C D
214 0
215 1
216 2
217 3* 0
218 1
219 2
220 3


y asi sucesivamente

Preguntas similare

Leer las respuestas

#1 KL
30/01/2005 - 02:56 | Informe spam
Hola Vasak,

Prueba el siguiente macro.

Saludos,
KL

'--Inicio Codigo-
Sub test()
Dim mtz As Variant
Dim rng1 As Range
Dim rng2 As Range
Dim Registros As Long, i As Long

mtz = Application.WorksheetFunction. _
Transpose(Array(0, 1, 2, 3))
col = 0
With ActiveSheet
Set rng1 = .Range("B2:B5")
Set rng2 = .Range("D5:D8")
Registros = WorksheetFunction. _
RoundDown((.UsedRange.Rows.Count - 1) / 107, 0)
End With
For i = 0 To Registros
rng1.Offset(i * 107, 0) = mtz
rng2.Offset(i * 107, 0) = mtz
Next i
End Sub
'--Fin Codigo-



"Vasak" wrote in message
news:
Hola buenas, antes de nada muchas gracias, y ahora comentar que esa
macro es muy cercano al que necesito, pero no empieza en la primera
linea, empieza en la segunda, y la disposicion exacta es:

explicacion: A es un nombre, B es la numeracion para tratar los datos
como campos, C es una direccion y D es la numeracion para tratar los
datos como campos..

A B C D
1
2 0
3 1
4 2
5 3* 0
6 1
7 2
8 3


ahora aqui tiene que haber 101 celdas vacias hacia abajo DESDE EL 3
CON EL ASTERISCO HASTA EL 0, 101 CELDAS mas abajo..(mirar ejemplo
abajo).. hasta que se vuelva a poner la doble secuencia de 0 1 2 3 en
la misma disposicion del mismo primer ejemplo (para ser exacto desde
la 6 hasta la 107 y en la 108 volver a colocar la secuencia de arriba,
y asi sucesivamente, osea 2º ejemplo de la 112 a la 213, y en la 214
volver a poner la secuencia de arriba..el 0 1 2 3, en la misma
disposicion que al principio del archivo...), espero haberme explicado
bien, y asi hacer bastantes hacia abajo, pues los archivos suelen
tener unos 150 campos nombre/direccion con sus respectivos espacios.

Espero haberme explicado bien, me seria utilisimo, imaginate lo que es
cambiarlos a mano, con copy and paste, :""(((

Un saludo.



ejemplo:


A B C D
1
2 0
3 1
4 2
5 3* 0
6 1
7 2
8 3
...
... vacias
...
A B C D
108 0
109 1
110 2
111 3* 0
112 1
113 2
114 3
...
... vacias
...
A B C D
214 0
215 1
216 2
217 3* 0
218 1
219 2
220 3


y asi sucesivamente
Respuesta Responder a este mensaje
#2 KL
30/01/2005 - 11:49 | Informe spam
Una version sin RoundDown:

'--Inicio Codigo-
Sub test()
Dim mtz As Variant
Dim rng1 As Range
Dim rng2 As Range
Dim Registros As Long, i As Long

mtz = Application.WorksheetFunction. _
Transpose(Array(0, 1, 2, 3))
col = 0
With ActiveSheet
Set rng1 = .Range("B2:B5")
Set rng2 = .Range("D5:D8")
Registros = Int((.UsedRange.Rows.Count - 1) / 107)
End With
For i = 0 To Registros
rng1.Offset(i * 107, 0) = mtz
rng2.Offset(i * 107, 0) = mtz
Next i
End Sub
'--Fin Codigo-


"KL" wrote in message
news:
Hola Vasak,

Prueba el siguiente macro.

Saludos,
KL

'--Inicio Codigo-
Sub test()
Dim mtz As Variant
Dim rng1 As Range
Dim rng2 As Range
Dim Registros As Long, i As Long

mtz = Application.WorksheetFunction. _
Transpose(Array(0, 1, 2, 3))
col = 0
With ActiveSheet
Set rng1 = .Range("B2:B5")
Set rng2 = .Range("D5:D8")
Registros = WorksheetFunction. _
RoundDown((.UsedRange.Rows.Count - 1) / 107, 0)
End With
For i = 0 To Registros
rng1.Offset(i * 107, 0) = mtz
rng2.Offset(i * 107, 0) = mtz
Next i
End Sub
'--Fin Codigo-



"Vasak" wrote in message
news:
Hola buenas, antes de nada muchas gracias, y ahora comentar que esa
macro es muy cercano al que necesito, pero no empieza en la primera
linea, empieza en la segunda, y la disposicion exacta es:

explicacion: A es un nombre, B es la numeracion para tratar los datos
como campos, C es una direccion y D es la numeracion para tratar los
datos como campos..

A B C D
1
2 0
3 1
4 2
5 3* 0
6 1
7 2
8 3


ahora aqui tiene que haber 101 celdas vacias hacia abajo DESDE EL 3
CON EL ASTERISCO HASTA EL 0, 101 CELDAS mas abajo..(mirar ejemplo
abajo).. hasta que se vuelva a poner la doble secuencia de 0 1 2 3 en
la misma disposicion del mismo primer ejemplo (para ser exacto desde
la 6 hasta la 107 y en la 108 volver a colocar la secuencia de arriba,
y asi sucesivamente, osea 2º ejemplo de la 112 a la 213, y en la 214
volver a poner la secuencia de arriba..el 0 1 2 3, en la misma
disposicion que al principio del archivo...), espero haberme explicado
bien, y asi hacer bastantes hacia abajo, pues los archivos suelen
tener unos 150 campos nombre/direccion con sus respectivos espacios.

Espero haberme explicado bien, me seria utilisimo, imaginate lo que es
cambiarlos a mano, con copy and paste, :""(((

Un saludo.



ejemplo:


A B C D
1
2 0
3 1
4 2
5 3* 0
6 1
7 2
8 3
...
... vacias
...
A B C D
108 0
109 1
110 2
111 3* 0
112 1
113 2
114 3
...
... vacias
...
A B C D
214 0
215 1
216 2
217 3* 0
218 1
219 2
220 3


y asi sucesivamente




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida