Copiado de Datos en hoja nueva

16/05/2007 - 02:20 por JF | Informe spam
Buenas tardes foro por favor necesito ayuda con lo siguiente y de
antemano gracias por su colaboración...

Tengo un botón que me crea un ahoja de cálculo nueva (dentro del mismo
libro). la hoja debe llamarse con determinado nombre y tendrá un contador,
adicionalmente en la hoja nueva, deberá pegar la información que está
contenida en la hoja1 y en esta misma hoja uno deberá correr el contador
para así cuando se oprima el botón nuevamente, la hoja se llame con el
nombre destinado pero con el siguiente contador como ejemplo describo el
código utilizado para por'fa me colaboren complementando.

Private Sub btnGenerarCDU_Click()
'Adicionar hoja
Dim Contador As Long
Contador = 1
Worksheets.Add.Name = ("PLA-AUT-AUTL" & Contador&)
txbNumeroPlanilla.Text = Contador
Contador = Contador + 1

'pegar datos de la hoja plantilla enla hoja ("PLA-AUT-AUTL" &
Contador&)

ActiveSheet.Range("a1:a100") =
Worksheets("Plantilla").Range("a1:a100")
End Sub

supongo que hará falta un ciclo en un for o un with, pero no se como hacerlo

gracias..

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
16/05/2007 - 06:02 | Informe spam
hola, Jorge !

... un boton que me crea un ahoja... ... la hoja debe llamarse con determinado nombre y tendrá un contador
... en la hoja nueva, debera pegar la informacion que esta... en la hoja1
... en esta misma hoja uno debera correr el contador para... cuando se oprima el boton nuevamente
la hoja se llame con el nombre destinado pero con el siguiente contador [...]



1) no es buena idea que la variable para el 'contador' se este declarando E inicializando [en uno] dentro del mismo procedimiento
[como dices] es mejor si la puedes depositar/acumular/controlar/... desde alguna celda de la misma hoja1 ;)
[tampoco creo que anotandola en un cuadro de texto en el formulario 'se conserve' la siguiente vez que abras el formulario] :-(

2) tampoco es 'caro' si deseas copiar SOLO los valores de un rango a la hoja nueva... o incuir formulas/formatos/etc. -?-

3) suponiendo que puedes ir acumulando el 'contador' [p.e.] en la celda 'A1' de la hoja1 [la "Plantilla" ?]
prueba con algo +/- como lo siguiente:

Private Sub btnGenerarCDU_Click()
With Worksheets("plantilla").Range("a1")
.Value = .Value + 1
End With
With Worksheets.Add(After:=Worksheets(Worksheets.Count))
.Name = "PLA-AUT-AUTL" & Worksheets("plantilla").Range("a1")
.Range("a1:a100").Value = Worksheets("plantilla").Range("a1:a100").Value
End With
End Sub

nota: si lo que necesitas es incluir formulas/formatos/... y no solo los valores, modifica:
-> de:
.Range("a1:a100").Value = Worksheets("plantilla").Range("a1:a100").Value
-> a:
Worksheets("plantilla").Range("a1:a100").Copy Destination:=.Range("a1:a100")

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Private Sub btnGenerarCDU_Click()
'Adicionar hoja
Dim Contador As Long
Contador = 1
Worksheets.Add.Name = ("PLA-AUT-AUTL" & Contador&)
txbNumeroPlanilla.Text = Contador
Contador = Contador + 1
'pegar datos de la hoja plantilla enla hoja ("PLA-AUT-AUTL" & Contador&)
ActiveSheet.Range("a1:a100") = Worksheets("Plantilla").Range("a1:a100")
End Sub
Respuesta Responder a este mensaje
#2 JForero
16/05/2007 - 06:51 | Informe spam
Ok, Hector Funciona perfecto

gracias..


"Héctor Miguel" escribió en el mensaje
news:
hola, Jorge !

... un boton que me crea un ahoja... ... la hoja debe llamarse con
determinado nombre y tendrá un contador
... en la hoja nueva, debera pegar la informacion que esta... en la hoja1
... en esta misma hoja uno debera correr el contador para... cuando se
oprima el boton nuevamente
la hoja se llame con el nombre destinado pero con el siguiente contador
[...]



1) no es buena idea que la variable para el 'contador' se este declarando
E inicializando [en uno] dentro del mismo procedimiento
[como dices] es mejor si la puedes depositar/acumular/controlar/...
desde alguna celda de la misma hoja1 ;)
[tampoco creo que anotandola en un cuadro de texto en el formulario 'se
conserve' la siguiente vez que abras el formulario] :-(

2) tampoco es 'caro' si deseas copiar SOLO los valores de un rango a la
hoja nueva... o incuir formulas/formatos/etc. -?-

3) suponiendo que puedes ir acumulando el 'contador' [p.e.] en la celda
'A1' de la hoja1 [la "Plantilla" ?]
prueba con algo +/- como lo siguiente:

Private Sub btnGenerarCDU_Click()
With Worksheets("plantilla").Range("a1")
.Value = .Value + 1
End With
With Worksheets.Add(After:=Worksheets(Worksheets.Count))
.Name = "PLA-AUT-AUTL" & Worksheets("plantilla").Range("a1")
.Range("a1:a100").Value =
Worksheets("plantilla").Range("a1:a100").Value
End With
End Sub

nota: si lo que necesitas es incluir formulas/formatos/... y no solo los
valores, modifica:
-> de:
.Range("a1:a100").Value =
Worksheets("plantilla").Range("a1:a100").Value
-> a:
Worksheets("plantilla").Range("a1:a100").Copy
Destination:=.Range("a1:a100")

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Private Sub btnGenerarCDU_Click()
'Adicionar hoja
Dim Contador As Long
Contador = 1
Worksheets.Add.Name = ("PLA-AUT-AUTL" & Contador&)
txbNumeroPlanilla.Text = Contador
Contador = Contador + 1
'pegar datos de la hoja plantilla enla hoja ("PLA-AUT-AUTL" &
Contador&)
ActiveSheet.Range("a1:a100") =
Worksheets("Plantilla").Range("a1:a100")
End Sub




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