Hola de nuevo voy a tratar de explicarme
tengo las variables wb y shtprofit lascuales hacen referencia al libro y a
la hoja del libro respectivamente,tengo 2 libros diferentes la variable
strrevenue es la que asigne para que encuentre el valor de revenue en la
hoja1 y lo imprima en la hoja2
fecha es una variable que asigne ya que en la hoja1 vienen los datos del
revenue que es el que quiero obtener por mes es decir de enero a octubre del
2005 (variable ind) aqui utilizo un ciclo for para que me busque el dato de
revenue para cada mes,i es una variable que incrementa el valor de las filas
al insertar los datos de la hoja 1 a la 2. rangefil y rangecol son variables
que utilizo para asignar las filas y columnas donde encuentre el dato que
busco por que la columna revenue de la hoja1 no siempre esta en la misma
posicion por lo tanto es desconocida su posicion por eso use estas variables
para hacer referencia a estas,rangefil2 lo que hace es asignar el valor de la
columna revenue usd que encuentra en la hoja1 y r es la variable que hace
referencia a la columna revenue de la hoja2 por que desde ahi va a empezar a
posicionar o imprimir los valores que encuentre en la hoja1.
Ahora lo que quiero es que si la celda x de la hoja1 esta vacia en la hoja 2
NO me la deje vacia tambien si no que ponga un cero o un comentario de valor
nulo o algo asi.
espero haber sido mas clara agradecere su pronta respuesta de antemano
gracias :-)
Public Sub createProfitability(file As String)
Dim wb As Workbook
Dim shtProfit As Worksheet
Dim strRevenue As String
Dim fecha As String
Dim i As Integer
Dim numRows As Integer
Dim r As Range
Dim rangeRow As Integer
Dim f1 As Range
Dim rangeFil As Integer
Dim f2 As Range
Dim rangeFil2 As Integer
Dim r1 As Range
Dim rangeCol As Integer
Dim ind As Integer
Dim FechaArr(10) As String
FechaArr(1) = "1/1/2005"
FechaArr(2) = "2/1/2005"
FechaArr(3) = "3/1/2005"
FechaArr(4) = "4/1/2005"
FechaArr(5) = "5/1/2005"
FechaArr(6) = "6/1/2005"
FechaArr(7) = "7/1/2005"
FechaArr(8) = "8/1/2005"
FechaArr(9) = "9/1/2005"
FechaArr(10) = "10/1/2005"
i = 0
strRevenue = ""
fecha = ""
Workbooks.Open file, False, True
Set wb = Workbooks(strOpenFileSelected)
Set shtProfit = wb.Sheets("source")
For ind = 1 To 10
On Error Resume Next
Set f1 = shtProfit.Cells.Find(FechaArr(ind), _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
rangeFil = f1.Row
If f1.Value = Null Then
Exit For
End If
Set f2= shtProfit.Cells.Find("Revenue USD", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
RangeFil2 = f2.Row
Set r1 = shtProfit.Cells.Find(FechaArr(ind), _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
rangeCol = r1.Column
fecha = shtProfit.Cells(rangeFil15, rangeCol).Value
strRevenue = shtProfit.Cells(rangeFil7, rangeCol).Value
Set r = SheetSummary.Cells.Find("revenue", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
SheetSummary.Activate
i = 2
Rows((r.Row + i) & ":" & (r.Row + i)).Select
Selection.Insert Shift:=xlDown
numRows = numOfRows(SheetSummary, r.Row)
SheetSummary.Cells(r.Row + i, 2).Value = fecha
SheetSummary.Cells(r.Row + i, 7).Value = strRevenue
Next
Workbooks(strOpenFileSelected).Close SaveChanges:=False
End Sub
Leer las respuestas