Visual Basic - ayuda

Life is soft - evento anual de software empresarial
   
Vista:

ayuda

Publicado por martha (1 intervención) el 16/12/2008 14:17:28
hola,

tengo un problema grandisimo. el siguiente codigo busca una serie de valores en una hoja y los guarda en otra esto lo debe realizar para cada poliza, pero el for del final no funciona, pues activo mas de una hoja entonces la fila activa despues de que corre la primer vez cambia y es ota que no tiene nada que ver.

agradesco su ayuda. es realmente urgente

Sub guardar(monto As Variant, j As Integer)

j = j - 1
Worksheets("Tarifa_Basico").Activate
ActiveSheet.Range("AT1").Activate

With ActiveCell
.Offset(j, 0).Value = monto
End With

End Sub

Sub clear()

Worksheets("Tarifa_Basico").Activate
ActiveSheet.Range("AT1").Activate

Do While Not IsEmpty(ActiveCell)

With ActiveCell
.Offset(0, 0).Value = 0
End With

ActiveCell.Offset(1, 0).Activate
Loop

End Sub

Function saltar_celdas_llenas1(j As Integer) As Integer

Worksheets("Base_Retiros").Activate
Worksheets("Base_Retiros").Rows(j).Activate



Do While Not IsEmpty(ActiveCell)

ActiveCell.Offset(0, 1).Activate
Loop

saltar_celdas_llenas1 = ActiveCell.Column

End Function

Sub read_ret1(casilla As String, col As Integer)



Dim monto As Variant
Dim fecha As Variant
Dim rowd As Integer
Dim Columnd As Integer

Dim proof As Integer
Dim proof1 As Integer
Dim sum As Boolean





Worksheets("Base_Retiros").Activate

ActiveSheet.Range(casilla).Activate





With ActiveCell


proof = .Offset.Row
proof1 = .Offset.Column

fecha = .Offset(0, col)
monto = .Offset(0, col - 1)

If Not IsEmpty(monto) Then


With Worksheets("Tarifa_Basico").Range("AQ1:AQ300")
Set d = .Find(fecha, LookIn:=xlValues)
If Not d Is Nothing Then
firstAddress = d.Address
Do
rowd = d.Row
Columnd = d.Column


Call guardar(monto, rowd)


Loop While Not d Is Nothing And d.Address <> firstAddress
End If
End With


Else

sum = True

End If

End With

End Sub



Sub apesta(poliza As Variant)

Dim rowr As Integer
Dim rowp As Integer
Dim col As Integer
Dim j As Integer
Dim casilla As String





Worksheets("Base_Retiros").Activate

ActiveSheet.Range("a1").Activate


Do While Not IsEmpty(ActiveCell) And ActiveCell.Value <> poliza
ActiveCell.Offset(1, 0).Activate
Loop

col = 0

With ActiveCell

casilla = ActiveCell.Address
rowp = ActiveCell.Row


col = 2

rowr = saltar_celdas_llenas1(rowp)

j = (rowr / 2) - 1

For i = 1 To j


Call read_ret1(casilla, col)


col = col + 2


Next i

End With


End Sub



Sub datos_entrada(casi1 As String)
'
' datos_entrada Macro
' Macro grabada el 28/11/2008 por sole
'
'
Dim poliza As Variant
Dim col As Integer

Dim k As String



Worksheets("Bases Datos").Activate
ActiveSheet.Range(casi1).Activate

col = 0
For i = 1 To 30
With ActiveCell


Worksheets("Datos de Entrada").Range("D3").Value = .Offset(0, 10)
Worksheets("Datos de Entrada").Range("D4").Value = .Offset(0, 38)
Worksheets("Datos de Entrada").Range("D5").Value = .Offset(0, 27)
Worksheets("Datos de Entrada").Range("D6").Value = .Offset(0, 11)
Worksheets("Datos de Entrada").Range("D7").Value = .Offset(0, 33)
Worksheets("Datos de Entrada").Range("D8").Value = .Offset(0, 6)
Worksheets("Datos de Entrada").Range("D9").Value = .Offset(0, 15)

poliza = .Offset(0, 5)


Call apesta(poliza)

Call clear

col = 1 + col

.Offset(0, 39).Value = Worksheets("Datos de Entrada").Range("J2")

ActiveCell.Offset(col, 0).Activate

Next i


End With



End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda

Publicado por igor (633 intervenciones) el 16/12/2008 20:44:57
gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda

Publicado por P3L30N (701 intervenciones) el 16/12/2008 21:28:39
Gracias, porqué?

no me digas que te leiste el toxo entero y te solusionó algún problema que tenias con tu código?

Lo que yo no he logrado entender es lo siguiente:

"...pues activo mas de una hoja entonces la fila activa despues de que corre la primer vez cambia y es ota que no tiene nada que ver. "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar