como reconocer valores nulos

21/09/2005 - 20:20 por Hanna | Informe spam
Hola de nuevo, gracias KL por contestar tan rapido
este es el codigo de la macro lo que hace es buscar en un libro la pestaña
sorce y de esta pestaña busca la columna Revenue_Onsite_USDPrivate e imprime
los valores que tenga dicha columna o sea esta asi:
revenue_usd(nombre de la columna)
2
3
4
y me va imprimiendo 2 3 4 y asi bueno el chiste es que cuando encuantra una
fila o renglon vacio me pone como tal la celda vacia y lo que quiero es
obligar a que en ves de dejarla en blanco me ponga algun comentario de por
ejemplo "null" o algo asi
tengo la idea pero no se como hacerlo es decir que cuando busque en la
columna revenue usd haga una validacion de las celdas que esten vacias y si
estan vacias ponga el comentario en el otro libro de "null"
please me superurge!!!
de antemano gracias!!

Sub createProfitability(file As String)
''On Error GoTo createProfitability_Error
Dim wb As Workbook
Dim shtProfit As Worksheet

' variables to obtain the values from the Manager workbook

'Dim strProjectId As String

Dim revenue As String
Dim c As String



Dim i As Integer
Dim numRows As Integer

' variable to store the range of the search
Dim r As Range
Dim rangeRow As Integer

Dim f1 As Range
Dim rangeFil As Integer
' variable to store the value of the last column of the table
Dim r1 As Range
Dim rangeCol As Integer

' Initialize variables
i = 0


revenue = " "

Workbooks.Open file, , True
Set wb = Workbooks(strOpenFileSelected)
Set shtProfit = wb.Sheets("Source")




Set r1 = shtProfit.Cells.Find("Revenue_Onsite_USD", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
rangeCol = r1.Column

'aqui abajo busca en el libro nuevo la columna revenue on que es donde
va a imprimir los datos que encontro en la columna revenue usd

Set r = SheetSummary.Cells.Find("Revenue ON", _
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 = revenue
Workbooks(strOpenFileSelected).Close SaveChanges:=False

End Sub
 

Leer las respuestas

#1 KL
22/09/2005 - 08:52 | Informe spam
Hola Hanna,

Si te he entendido bien, creo que tu codigo deberia finalizar asi:

i = 2
Rows((r.Row + i) & ":" & (r.Row + i)).Insert Shift:=xlDown
numRows = numOfRows(SheetSummary, r.Row)
SheetSummary.Cells(r.Row + i, 2).Value = fecha
If strRevenue = "" Then
SheetSummary.Cells(r.Row + i, 7).Value = "IsNull"
Else
SheetSummary.Cells(r.Row + i, 7).Value = strRevenue
End If
Next
Workbooks(strOpenFileSelected).Close SaveChanges:=False
End Sub

De paso comentarte que tu codigo abusa de variables que consumen memoria -
seguro que se podria reducirlas a la mitad o menos

Saludos,
KL

Preguntas similares