Tengo un viejo problema

04/06/2005 - 00:30 por Hermano2 | Informe spam
COmo va a todo.. bueno.. trate de cambiar una formula que me dio KL en macros
y no se porque no anda... se las dejo para a ver si alguien me puede ayudar...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Variant, Dest As Variant
Dim Fila As Long, i As Integer

Application.ScreenUpdating = False
Col = Array("C", "D", "E", "F", "G", "H", _
"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "AN")
Dest = Array("F7,F25,F44", "I7,I25,I44", "L7,L25,L44", _
"H6,H24,H43", "K9,K27", "M9,M27", "K10,K29", "M10,M28", _
"K11,K29", "M11,M29", "K12,K30", "M12,M30", "M15,M33",
"M13,M31", "M14,M32", _
"M17,M35,M45", "M16,M34")
For Fila = 13 To 42
With ThisWorkbook.Sheets(Fila - 16)
.Range("E3,E21,E40").Value = Me.Cells(47, "V").Value
.Range("E5,E23,E42").Value = Me.Cells(48, "V").Value
.Range("K10,K27").Value = Me.Cells(3, "R").Value
For i = LBound(Col) To UBound(Col)
.Range(Dest(i)).Value = Me.Cells(Fila, Col(i)).Value
Next i
End With
Next Fila
Application.ScreenUpdating = True
End Sub

Preguntas similare

Leer las respuestas

#1 KL
04/06/2005 - 01:28 | Informe spam
Hola Hermano2,

Al decir "no anda" ?a que te refieres exactamente? ?En que se expresa?

Saludos,
KL


"Hermano2" wrote in message
news:
COmo va a todo.. bueno.. trate de cambiar una formula que me dio KL en
macros
y no se porque no anda... se las dejo para a ver si alguien me puede
ayudar...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Variant, Dest As Variant
Dim Fila As Long, i As Integer

Application.ScreenUpdating = False
Col = Array("C", "D", "E", "F", "G", "H", _
"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "AN")
Dest = Array("F7,F25,F44", "I7,I25,I44", "L7,L25,L44", _
"H6,H24,H43", "K9,K27", "M9,M27", "K10,K29", "M10,M28", _
"K11,K29", "M11,M29", "K12,K30", "M12,M30", "M15,M33",
"M13,M31", "M14,M32", _
"M17,M35,M45", "M16,M34")
For Fila = 13 To 42
With ThisWorkbook.Sheets(Fila - 16)
.Range("E3,E21,E40").Value = Me.Cells(47, "V").Value
.Range("E5,E23,E42").Value = Me.Cells(48, "V").Value
.Range("K10,K27").Value = Me.Cells(3, "R").Value
For i = LBound(Col) To UBound(Col)
.Range(Dest(i)).Value = Me.Cells(Fila, Col(i)).Value
Next i
End With
Next Fila
Application.ScreenUpdating = True
End Sub

Respuesta Responder a este mensaje
#2 Héctor Miguel
04/06/2005 - 01:38 | Informe spam
hola chicos !

Al decir "no anda" ?a que te refieres exactamente? ?En que se expresa?



revisa esta parte del codigo...
For Fila = 13 To 42
With ThisWorkbook.Sheets(Fila - 16)

saludos,
hector.
Respuesta Responder a este mensaje
#3 KL
04/06/2005 - 01:39 | Informe spam
Gracias HM,

Iba a decirlo - es que es dificil que exista alguna hoja cuyo nombre
sea -3, -2, -1, 0 :-)

Saludos,
KL


"Héctor Miguel" wrote in message
news:%
hola chicos !

Al decir "no anda" ?a que te refieres exactamente? ?En que se expresa?



revisa esta parte del codigo...
For Fila = 13 To 42
With ThisWorkbook.Sheets(Fila - 16)

saludos,
hector.

Respuesta Responder a este mensaje
#4 Hermano2
04/06/2005 - 02:02 | Informe spam
Miguel no se mucho de macros... y KL ninguna hoja tiene - ya no se que hacer...
Respuesta Responder a este mensaje
#5 Héctor Miguel
04/06/2005 - 02:08 | Informe spam
hola, Hermano2 !

... no se mucho de macros... ninguna hoja tiene - ya no se que hacer...



no es 'precisamente' ->el nombre<- de la hoja sino su 'indice' o posicion dentro del conjunto de hojas en el libro
[p.e.] Sheets(1) ES la primera hoja del libro [segun su orden en la interfase del usuario]
si estas usando [segun tu variable 'convertida' a su valor]...
For Fila = 13 To 42
With ThisWorkbook.Sheets(Fila - 16)
=> la primer hoja que 'se intenta' procesar vendria siendo la que este en la posicion -1
la macro te debe arrojar un eror 9 [subindice fuera del intervalo]
=> necesitas indicar una [posicion de] hoja que 'coincida' con las existentes en el libro ;)

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida