DomThePom,
Here is my code now. It works up to
Application.Run "PrintAndExitIfBlankEmplyeeData"
but does NOT execute it.
somehow something is wrong. Can you help? thanks here it is:
---------------------------------------------------------------------------
Sub Employees()
'
' Employees Macro
'
' Keyboard Shortcut: Ctrl+e
'
' This deletes all columns where in the row any blank cells
Rows(1).SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
Rows(1).EntireRow.Delete
' Set Name "Employees" for NEW Range
With Worksheets("Employees")
lastrow = .Cells(Rows.Count, "A").End(xlUp).Row
Range("A1
" & lastrow).Name = "Employees"
End With
' Sort_Employees by department code in column C
'
ActiveSheet.Range("Employees").Sort _
Key1:=Columns("C"), _
Order1:=xlAscending, _
DataOption1:=xlSortNormal, _
Header:=xlNo
' Enter here routine for determining missing DEPARTMENT CODE
Application.Run "PrintAndExitIfBlankEmplyeeData"
' Enter Formula to Column D
Range("D1").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'G:\Personel\cav index.xlsx'!accounts,2)"
Selection.Copy
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Range("A1").Select
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
' Sort_Employees by SI
'
ActiveSheet.Range("Employees").Sort _
Key1:=Range("A1", "Employees"), _
Order1:=xlAscending, _
DataOption1:=xlSortNormal, _
Header:=xlNo
' Save Active Wrokbook and close Window
ActiveWorkbook.Save
ActiveWindow.Close
Application.Quit
End Sub
----------
Sub PrintAndExitIfBlankEmplyeeData()
Dim rngRow As Range
Dim rng As Range
Set rng = Range("Employees")
If CountBlanksCells(rng) <> 0 Then
'hide complete rows
For Each rngRow In rng.Rows
'exclude first row
If rngRow.Row <> 1 Then
If CountBlanksCells(rngRow) = 0 Then
rngRow.EntireRow.Hidden = True
End If
End If
Next rngRow
Range("Employees").Resize(, 2).PrintOut
Application.DisplayAlerts = False
Application.Quit
End If
End Sub
Function CountBlanksCells(ByRef rng As Range) As Long
Dim lngCount As Long
On Error Resume Next
lngCount = rng.SpecialCells(xlCellTypeBlanks).Cells.Count
If Err.Number = 0 Then
CountBlanksCells = lngCount
Else
CountBlanksCells = 0
End If
On Error GoTo 0
End Function
---------------------------------------------------------------------------
DomThePom said:
I have just copied exactly what was in the post to a blank module, removed
the '>'s and not got any compile errors.
Are you sure that you pasted both the:
Sub PrintAndExitIfBlankEmplyeeData
and the:
Function CountBlanksCells
into your mudule ?
Clearly, if you pasted the sub and not the function then you will get a
compile error!
:
Hi,
I am getting a "compile error" : Sub or Function not defined against:
If CountBlanksCells(rng) <> 0 Then
Help please... thanks
Helmut
:
Ask and ye......
Sub PrintAndExitIfBlankEmplyeeData()
Dim rngRow As Range
Dim rng As Range
Set rng = Range("Employees")
If CountBlanksCells(rng) <> 0 Then
'hide complete rows
For Each rngRow In rng.Rows
'exclude first row
If rngRow.row <> 1 Then
If CountBlanksCells(rngRow) = 0 Then
rngRow.EntireRow.Hidden = True
End If
End If
Next rngRow
Range("Employees").Resize(, 2).PrintOut
Application.DisplayAlerts = False
Application.Quit
End If
End Sub
Function CountBlanksCells(ByRef rng As Range) As Long
Dim lngCount As Long
On Error Resume Next
lngCount = rng.SpecialCells(xlCellTypeBlanks).Cells.Count
If Err.Number = 0 Then
CountBlanksCells = lngCount
Else
CountBlanksCells = 0
End If
On Error GoTo 0
End Function
:
Hi DomThePom,
Great BUT it prints not only the rows with the BLANK CELL but it prints the
whole worksheet. I only want to print the rows with the blank cells.
thanks
Helmut
:
Here you go Helmut:
Sub PrintAndExitIfBlankEmplyeeData()
Dim rng As Range
Set rng = Range("Employees")
If rng.SpecialCells(xlCellTypeBlanks).Cells.Count <> 0 Then
Range("Employees").Resize(, 2).PrintOut
Application.DisplayAlerts = False
Application.Quit
End If
End Sub
:
Hi,
I have a RANGE "Employees" with some missing info:
Column A Columns B Column C
21823059 גדעון ×œ×™× × 474
27640374 מיע×רי ט×רק 474
36095008 מור×× ×™ ×¨×™× 474
15786791 פוקס מיכל blank cell
27820257 הר×ל שלומציון blank cell
28488567 ××¨× ×¤×¨×•×™× ×“ ×¨×•× ×™×ª blank cell
I would like that IF NO blank cells in Range THEN continue MACRO
but IF blank cells in Range THEN "print" value of cells A and B and Exit
both Worksheet and Excel.