¿Porque no funciona este codigo?

31/08/2006 - 19:06 por vm_tapia | Informe spam
=Dim Col As Byte, Celda As Variant
Col = 1
For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad").Value
.Offset(UltimaFilaPFacts, Col + 1).Value = Celda.Value
Col = Col + 3
Next
=
Gracias.

Preguntas similare

Leer las respuestas

#6 vm_tapia
31/08/2006 - 23:35 | Informe spam
KL:

Muchas Gracias por tu atencion y tiempo, el error que cometi es usar -->
.Offset <-- en lugar de --> .Cells <-- con cambiarlo se resolvio el problema,
pero ahora me da un error de "desbordamiento", y lo que necesito es que del
rango "Cantidad" me pase el valor a otra hoja en el mismo orden pero en
diferente columna, es decir, el valor de la primera celda en la columa B de
la hoja BDPFacts el valor de la segunda celda en la columna E, el valor de la
tercera celda en la columna H, etc. en total son 32 celdas para igual numero
de columnas con intervalos de 2 columnas cada una. lo que supuestamente tiene
que hacer con el siguiente codigo:
Private Sub Guardar_Click()
FilasPFacts = ThisWorkbook.Worksheets("bdpfacts").Range("$A:$A")
UltimaFilaPFacts = Application.WorksheetFunction.CountA(FilasPFacts) + 1
With ThisWorkbook.Worksheets("BDPFacts")
.Cells(UltimaFilaPFacts, 1).Value = Val(AltaFacturas.FolioFact.Caption)
Dim Col As Byte, Celda As Range
Col = 1
For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad")
.Cells(UltimaFilaPFacts, Col + 1).Value = Celda
Col = Col + 3
Next
End With
End Sub
realize pruebas de funcionamiento y lo que hace es lo siguiente:

Valor de la primera celda = 1
Valor de la segunda celda = 2
Valor de la tercera celda = 3
Valor de la cuarta celda = 4
Valor de la quinta celda = 5

el 1 lo pone en la ultima fila columna B <-- esta esta bien
el 2 lo pone en la ultima fila columna H <-- debiendo estar el la columna E
el 3 lo pone en la ultima fila columna N <-- debiendo estar el la columna H
el 4 lo pone en la ultima fila columna T <-- debiendo estar el la columna K
el 5 lo pone en la ultima fila columna Z <-- debiendo estar el la columna N

como te daras cuenta existe un desfase de mas y en teoria no deberia existir



"KL" wrote:

Hola vm_tapia,

Pues supongo que el problema esta en "UltimaFilaPFacts" habria que ver que valor tiene en el momento del fallo del codigo. Tambien
seria interesante ver como se declara y como (mediante quEcodigo) se le asigna el valor a la variable "UltimaFilaPFacts". Otra cosa
que vendria bien es saber que rango esta asignado al nombre "Cantidad".

Saludos,
KL


"vm_tapia" wrote in message news:
> KL:
>
> cometi el error de no mirar atentamente el codigo que me enviaste, ya lo
> corregi
> y salio otro error que es el siguiente:
> ==> > Error 1004 en tiempo de ejecucion
> Error definido por la aplicacion o el objeto
> ==> > en la siguiente linea
> -
> Celda.Offset(UltimaFilaPFacts, Col + 1) = Celda
> -
>
>
>
> "vm_tapia" wrote:
>
>> KL:
>>
>> Ya lo probe y no funciona el error es el siguiente
>> > >> Error 438 en tiempo de ejecucion
>> El objeto no admite esta propiedad o metodo
>> > >>
>>
>>
>> "KL" wrote:
>>
>> > Hola vm_tapia,
>> >
>> > Pensaba que a ti ya no era necesario recordarte que la descripion del error ayuda mucho :-)
>> >
>> > Prueba este codigo:
>> >
>> >
>> > Dim Col As Byte, Celda As Range
>> > Col = 1
>> > For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad")
>> > Celda.Offset(UltimaFilaPFacts, Col + 1) = Celda
>> > Col = Col + 3
>> > Next
>> >
>> > supongo que el valor de la variable UltimaFilaPFacts se le asigna en alguna parte del codigo completo.
>> >
>> > Saludos,
>> > KL
>> >
>> >
>> > "vm_tapia" wrote in message news:
>> > >
>> > > => >> > > Dim Col As Byte, Celda As Variant
>> > > Col = 1
>> > > For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad").Value
>> > > .Offset(UltimaFilaPFacts, Col + 1).Value = Celda.Value
>> > > Col = Col + 3
>> > > Next
>> > > => >> > >
>> > > Gracias.
>> > >
>> >


Respuesta Responder a este mensaje
#7 KL
01/09/2006 - 14:54 | Informe spam
Hola vm_tapia,

Enviame si quieres el archivo a mi correo privado y lo miro este finde. Hay demasiadas variables en el codigo y las estas soltando a
cuentagotas :-)

Saludos,
KL


"vm_tapia" wrote in message news:
KL:

Muchas Gracias por tu atencion y tiempo, el error que cometi es usar -->
.Offset <-- en lugar de --> .Cells <-- con cambiarlo se resolvio el problema,
pero ahora me da un error de "desbordamiento", y lo que necesito es que del
rango "Cantidad" me pase el valor a otra hoja en el mismo orden pero en
diferente columna, es decir, el valor de la primera celda en la columa B de
la hoja BDPFacts el valor de la segunda celda en la columna E, el valor de la
tercera celda en la columna H, etc. en total son 32 celdas para igual numero
de columnas con intervalos de 2 columnas cada una. lo que supuestamente tiene
que hacer con el siguiente codigo:
> Private Sub Guardar_Click()
FilasPFacts = ThisWorkbook.Worksheets("bdpfacts").Range("$A:$A")
UltimaFilaPFacts = Application.WorksheetFunction.CountA(FilasPFacts) + 1
With ThisWorkbook.Worksheets("BDPFacts")
.Cells(UltimaFilaPFacts, 1).Value = Val(AltaFacturas.FolioFact.Caption)
Dim Col As Byte, Celda As Range
Col = 1
For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad")
.Cells(UltimaFilaPFacts, Col + 1).Value = Celda
Col = Col + 3
Next
End With
End Sub
> realize pruebas de funcionamiento y lo que hace es lo siguiente:

Valor de la primera celda = 1
Valor de la segunda celda = 2
Valor de la tercera celda = 3
Valor de la cuarta celda = 4
Valor de la quinta celda = 5

el 1 lo pone en la ultima fila columna B <-- esta esta bien
el 2 lo pone en la ultima fila columna H <-- debiendo estar el la columna E
el 3 lo pone en la ultima fila columna N <-- debiendo estar el la columna H
el 4 lo pone en la ultima fila columna T <-- debiendo estar el la columna K
el 5 lo pone en la ultima fila columna Z <-- debiendo estar el la columna N

como te daras cuenta existe un desfase de mas y en teoria no deberia existir



"KL" wrote:

Hola vm_tapia,

Pues supongo que el problema esta en "UltimaFilaPFacts" habria que ver que valor tiene en el momento del fallo del codigo.
Tambien
seria interesante ver como se declara y como (mediante quEcodigo) se le asigna el valor a la variable "UltimaFilaPFacts". Otra
cosa
que vendria bien es saber que rango esta asignado al nombre "Cantidad".

Saludos,
KL


"vm_tapia" wrote in message news:
> KL:
>
> cometi el error de no mirar atentamente el codigo que me enviaste, ya lo
> corregi
> y salio otro error que es el siguiente:
> ==>> > Error 1004 en tiempo de ejecucion
> Error definido por la aplicacion o el objeto
> ==>> > en la siguiente linea
> -
> Celda.Offset(UltimaFilaPFacts, Col + 1) = Celda
> -
>
>
>
> "vm_tapia" wrote:
>
>> KL:
>>
>> Ya lo probe y no funciona el error es el siguiente
>> >> >> Error 438 en tiempo de ejecucion
>> El objeto no admite esta propiedad o metodo
>> >> >>
>>
>>
>> "KL" wrote:
>>
>> > Hola vm_tapia,
>> >
>> > Pensaba que a ti ya no era necesario recordarte que la descripion del error ayuda mucho :-)
>> >
>> > Prueba este codigo:
>> >
>> >
>> > Dim Col As Byte, Celda As Range
>> > Col = 1
>> > For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad")
>> > Celda.Offset(UltimaFilaPFacts, Col + 1) = Celda
>> > Col = Col + 3
>> > Next
>> >
>> > supongo que el valor de la variable UltimaFilaPFacts se le asigna en alguna parte del codigo completo.
>> >
>> > Saludos,
>> > KL
>> >
>> >
>> > "vm_tapia" wrote in message news:
>> > >
>> > > =>> >> > > Dim Col As Byte, Celda As Variant
>> > > Col = 1
>> > > For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad").Value
>> > > .Offset(UltimaFilaPFacts, Col + 1).Value = Celda.Value
>> > > Col = Col + 3
>> > > Next
>> > > =>> >> > >
>> > > Gracias.
>> > >
>> >


Respuesta Responder a este mensaje
#8 vm_tapia
01/09/2006 - 17:25 | Informe spam
Ok. te enviare el archivo.

"KL" wrote:

Hola vm_tapia,

Enviame si quieres el archivo a mi correo privado y lo miro este finde. Hay demasiadas variables en el codigo y las estas soltando a
cuentagotas :-)

Saludos,
KL


"vm_tapia" wrote in message news:
> KL:
>
> Muchas Gracias por tu atencion y tiempo, el error que cometi es usar -->
> .Offset <-- en lugar de --> .Cells <-- con cambiarlo se resolvio el problema,
> pero ahora me da un error de "desbordamiento", y lo que necesito es que del
> rango "Cantidad" me pase el valor a otra hoja en el mismo orden pero en
> diferente columna, es decir, el valor de la primera celda en la columa B de
> la hoja BDPFacts el valor de la segunda celda en la columna E, el valor de la
> tercera celda en la columna H, etc. en total son 32 celdas para igual numero
> de columnas con intervalos de 2 columnas cada una. lo que supuestamente tiene
> que hacer con el siguiente codigo:
> > > Private Sub Guardar_Click()
> FilasPFacts = ThisWorkbook.Worksheets("bdpfacts").Range("$A:$A")
> UltimaFilaPFacts = Application.WorksheetFunction.CountA(FilasPFacts) + 1
> With ThisWorkbook.Worksheets("BDPFacts")
> .Cells(UltimaFilaPFacts, 1).Value = Val(AltaFacturas.FolioFact.Caption)
> Dim Col As Byte, Celda As Range
> Col = 1
> For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad")
> .Cells(UltimaFilaPFacts, Col + 1).Value = Celda
> Col = Col + 3
> Next
> End With
> End Sub
> > > realize pruebas de funcionamiento y lo que hace es lo siguiente:
>
> Valor de la primera celda = 1
> Valor de la segunda celda = 2
> Valor de la tercera celda = 3
> Valor de la cuarta celda = 4
> Valor de la quinta celda = 5
>
> el 1 lo pone en la ultima fila columna B <-- esta esta bien
> el 2 lo pone en la ultima fila columna H <-- debiendo estar el la columna E
> el 3 lo pone en la ultima fila columna N <-- debiendo estar el la columna H
> el 4 lo pone en la ultima fila columna T <-- debiendo estar el la columna K
> el 5 lo pone en la ultima fila columna Z <-- debiendo estar el la columna N
>
> como te daras cuenta existe un desfase de mas y en teoria no deberia existir
>
>
>
> "KL" wrote:
>
>> Hola vm_tapia,
>>
>> Pues supongo que el problema esta en "UltimaFilaPFacts" habria que ver que valor tiene en el momento del fallo del codigo.
>> Tambien
>> seria interesante ver como se declara y como (mediante quEcodigo) se le asigna el valor a la variable "UltimaFilaPFacts". Otra
>> cosa
>> que vendria bien es saber que rango esta asignado al nombre "Cantidad".
>>
>> Saludos,
>> KL
>>
>>
>> "vm_tapia" wrote in message news:
>> > KL:
>> >
>> > cometi el error de no mirar atentamente el codigo que me enviaste, ya lo
>> > corregi
>> > y salio otro error que es el siguiente:
>> > ==> >> > Error 1004 en tiempo de ejecucion
>> > Error definido por la aplicacion o el objeto
>> > ==> >> > en la siguiente linea
>> > -
>> > Celda.Offset(UltimaFilaPFacts, Col + 1) = Celda
>> > -
>> >
>> >
>> >
>> > "vm_tapia" wrote:
>> >
>> >> KL:
>> >>
>> >> Ya lo probe y no funciona el error es el siguiente
>> >> > >> >> Error 438 en tiempo de ejecucion
>> >> El objeto no admite esta propiedad o metodo
>> >> > >> >>
>> >>
>> >>
>> >> "KL" wrote:
>> >>
>> >> > Hola vm_tapia,
>> >> >
>> >> > Pensaba que a ti ya no era necesario recordarte que la descripion del error ayuda mucho :-)
>> >> >
>> >> > Prueba este codigo:
>> >> >
>> >> >
>> >> > Dim Col As Byte, Celda As Range
>> >> > Col = 1
>> >> > For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad")
>> >> > Celda.Offset(UltimaFilaPFacts, Col + 1) = Celda
>> >> > Col = Col + 3
>> >> > Next
>> >> >
>> >> > supongo que el valor de la variable UltimaFilaPFacts se le asigna en alguna parte del codigo completo.
>> >> >
>> >> > Saludos,
>> >> > KL
>> >> >
>> >> >
>> >> > "vm_tapia" wrote in message news:
>> >> > >
>> >> > > => >> >> > > Dim Col As Byte, Celda As Variant
>> >> > > Col = 1
>> >> > > For Each Celda In ThisWorkbook.Worksheets("Factura").Range("Cantidad").Value
>> >> > > .Offset(UltimaFilaPFacts, Col + 1).Value = Celda.Value
>> >> > > Col = Col + 3
>> >> > > Next
>> >> > > => >> >> > >
>> >> > > Gracias.
>> >> > >
>> >> >
>>
>>


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