no era eso

17/04/2005 - 06:28 por Hermano2 | Informe spam
Me refiero a por ejemplo tengo un texto "A" en en la hoja 1, y un texto "B"
en la misma hoja, tendria que pone la formula para que copie en X lugares el
texto "A" y otra formula X para el texto "B", porque no quiero que me copie
las mismas cosas, y poniendo la formula 2 veces no anda y salta un error...
mi punto es que no solo tengo 2 cosas... tengo mas de 100 veces que poner esa
formula en una hoja.. decime como puedo hacer... poneme como harias para
poner esa misma formula en una hora 2 o 3 veces y despues me guio...

la 2da cosa es que tengo el resultado de una formula por ejemplo
=SUMA(J16:J28) y el resultado de eso, quiero que se copie en otra hoja, si lo
hago con esa formula que me diste lo que hace es simplemente copiar la
formula y cambiarla, ejemplo.. si eso le pongo que lo copie con la formula en
D70 me lo deja asi...=SUMA(D57:D69), pongamosle que la formula =SUMA(J16:J28)
diera 20, quiero que se copie 20... no la formula...

la formula que menciono primero es
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$10" Then Exit Sub
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Select Case Hoja.Index
Case 1, 3, 4, 5, 8
Target.Copy Hoja.Range("C10,B15,E20,D35")
End Select
Next Hoja
End Sub

se que "$O$10" es el lugar donde esta lo que quiero copiar en varios lados,
Case 1, 3, 4, 5, 8 son las hojas a las que lo quiero copiar y
("C10,B15,E20,D35") seria los lugares en las mencionadas hojas a las cual
tiene que copiar el texto... pero si pongo 2 veces las formula

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$10" Then Exit Sub
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Select Case Hoja.Index
Case 1, 3, 4, 5, 8
Target.Copy Hoja.Range("C10,B15,E20,D35")
End Select
Next Hoja
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$23" Then Exit Sub
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Select Case Hoja.Index
Case 7, 8, 9, 12, 15
Target.Copy Hoja.Range("D12,V15,O20,P35")
End Select
Next Hoja
End Sub
Me salta un error feo... por eso es que no se que puedo hacer para que
aparezca varias veces en una hoja... si me podes poner 2 o 3 veces la formula
y yo cambio las cosas... eso si.. decime que cambiar para poder poner 100
veces la formula...

Preguntas similare

Leer las respuestas

#6 efreiberg
06/05/2005 - 21:29 | Informe spam
Mas alla que no me preguntaste a mi, estaba buscando algo especifico sobre
for each y encontré tu problema, lo que tenes que hacer es un:
Range().PasteSpecial (xlValues) en la celda donde quieras pegar la
formula. Ademas, te doy un consejo, cuando quieras pegar formulas, pegalas
en ingles, de esa forma te lo calcula automaticamente sin que te situes en
la celda que quieras ejecutar la función.

Bueno ahora va mi duda. No entiendo porque no funciona el siguiente Each:

Dim hoja As Worksheet

For Each hoja In Worksheets
If hoja.Name <> "Data" Then
hoja.Delete
End If
Next hoja

lo ejecuta una vez y continua

Desde ya, muchas gracias.
Emiliano

Hermano2 wrote:

Me refiero a por ejemplo tengo un texto "A" en en la hoja 1, y un texto "B"
en la misma hoja, tendria que pone la formula para que copie en X lugares el
texto "A" y otra formula X para el texto "B", porque no quiero que me copie
las mismas cosas, y poniendo la formula 2 veces no anda y salta un error...
mi punto es que no solo tengo 2 cosas... tengo mas de 100 veces que poner


esa
formula en una hoja.. decime como puedo hacer... poneme como harias para
poner esa misma formula en una hora 2 o 3 veces y despues me guio...

la 2da cosa es que tengo el resultado de una formula por ejemplo
=SUMA(J16:J28) y el resultado de eso, quiero que se copie en otra hoja, si


lo
hago con esa formula que me diste lo que hace es simplemente copiar la
formula y cambiarla, ejemplo.. si eso le pongo que lo copie con la formula


en
D70 me lo deja asi...=SUMA(D57:D69), pongamosle que la formula


=SUMA(J16:J28)
diera 20, quiero que se copie 20... no la formula...

la formula que menciono primero es
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$10" Then Exit Sub
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Select Case Hoja.Index
Case 1, 3, 4, 5, 8
Target.Copy Hoja.Range("C10,B15,E20,D35")
End Select
Next Hoja
End Sub

se que "$O$10" es el lugar donde esta lo que quiero copiar en varios lados,
Case 1, 3, 4, 5, 8 son las hojas a las que lo quiero copiar y
("C10,B15,E20,D35") seria los lugares en las mencionadas hojas a las cual
tiene que copiar el texto... pero si pongo 2 veces las formula

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$10" Then Exit Sub
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Select Case Hoja.Index
Case 1, 3, 4, 5, 8
Target.Copy Hoja.Range("C10,B15,E20,D35")
End Select
Next Hoja
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$23" Then Exit Sub
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Select Case Hoja.Index
Case 7, 8, 9, 12, 15
Target.Copy Hoja.Range("D12,V15,O20,P35")
End Select
Next Hoja
End Sub
Me salta un error feo... por eso es que no se que puedo hacer para que
aparezca varias veces en una hoja... si me podes poner 2 o 3 veces la


formula
y yo cambio las cosas... eso si.. decime que cambiar para poder poner 100
veces la formula...
Respuesta Responder a este mensaje
#7 KL
06/05/2005 - 22:56 | Informe spam
Hola Emiliano,

No entiendo porque no funciona el siguiente Each...



Pues, por la misma razon por la que no funciona un bucle parecido que
elimina las filas vacias, si sabes a que me refiero. Es que en un bucle como
este, Excel se refiere a los objetos por su indice y empieza por el 1o y
luego pasa al... un momento - pero el que antes era 2o ahora ya es el 1o
porque hemos eliminado el otro. Asi que pasamos al 2o que de hecho es el 3o
y luego saltamos el 5o , etc. etc., en fin, un desmadre total :-)

Prueba mejor este bucle:

Dim i As Integer
For i=Worksheets.Count To 1 Step -1
If Worksheets(i).Name <> "Data" Then _
Worksheets(i).Delete
Next i

Saludos,
KL
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida