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..
 

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

Preguntas similares