Är arbetsbladet tomt?

I detta tips demonstreras hur vi på ett relativt enkelt sätt kan avgöra om ett arbetsblad är tom på data eller inte. Detta kan vara viktigt i flera sammanhang där data måste anges innan nästa steg i processen tar vid, såsom vid konvertering mm.

 

Option Explicit

 Sub TomtArbetsblad_AntalOmraden()

   '© 2002 Alla rättigheter XL-Dennis

   Dim wbBok As Workbook

   Dim wsBlad As Worksheet

   Dim rnOmrade As Range, rnCell As Range

 

   Set wbBok = ThisWorkbook

   Set wsBlad = wbBok.Worksheets("Blad1")

 

   On Error Resume Next

 

   With wsBlad.UsedRange

      'Formler och funktioner

      Set rnOmrade = .SpecialCells(xlCellTypeFormulas)(1, 1)

      'Text och tal

      If rnOmrade Is Nothing Then

         Set rnOmrade = .SpecialCells(xlCellTypeConstants)(1, 1)

      End If

 

      'Sammanfogar alla områden med formler och funktioner.

      For Each rnCell In .SpecialCells(xlCellTypeFormulas)

         Set rnOmrade = Application.Union(rnOmrade, rnCell)

      Next rnCell

 

      'Sammanfogar alla områden med text och tal

      For Each rnCell In .SpecialCells(xlCellTypeConstants)

         Set rnOmrade = Application.Union(rnOmrade, rnCell)

      Next rnCell

   End With

 

   If rnOmrade Is Nothing Then

      MsgBox "Arbetsbladet är tomt!", vbInformation

   Else

      MsgBox "Det finns " & rnOmrade.Areas.Count & " områden med data i.", _

            vbInformation

   End If

 End Sub