Kontrollera om ark och/eller intervall finns

Innehållsförteckning

Kontrollera om arket finns

Vi har skapat en funktion som testar om det finns ett blad eller område (på ett visst blad). Områdestestet är användbart om du vill kontrollera om ett visst namnområde finns på ett ark.

123456789101112 'Testa om ett område finns på ett ark.'Lämna intervallet tomt för att testa om det finns ett ark'Ingångar:'WhatSheet - Bladets strängnamn (ex "Sheet1")'WhatRange (Valfritt, Standard = "A1") - Strängnamn för intervall (ex "A1")Function RangeExists (WhatSheet As String, Valfritt ByVal WhatRange As String = "A1") Som BooleanDim test As RangeVid fel Återuppta nästaAnge test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Vid fel GoTo 0Avsluta funktion

Placera funktionen i en VBA -kodmodul och du kan komma åt den med hjälp av underprocedurer som dessa:

Kontrollera om arket finns

123 Sub Test_SheetExists ()MsgBox RangeExists ("setup")Avsluta Sub

Kontrollera om intervallet finns på ett blad

123 Sub Test_RangeExists ()MsgBox RangeExists ("setup", "rngInput")Avsluta Sub

Justera funktionen RangeExists

Kontrollera om arket finns på en annan arbetsbok

Ovanstående funktion tittade på ActiveWorkbook (den för närvarande aktiva arbetsboken). Istället kan du justera funktionen för att titta på en specifik arbetsbok så här:

12345678910111213 'Testa om ett område finns på ett ark.'Lämna intervallet tomt för att testa om det finns ett ark'Ingångar:'WhatBook - *Workbook Object *'WhatSheet - Bladets strängnamn (ex "Sheet1")'WhatRange (Valfritt, Standard = "A1") - Strängnamn för intervall (ex "A1")Function RangeExists (WhatBook As Workbook, WhatSheet As String, Valfritt ByVal WhatRange As String = "A1") Som BooleanDim test As RangeVid fel Återuppta nästaAnge test = WhatBook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Vid fel GoTo 0Avsluta funktion

Genomförande:

1234567 Sub Test_WBSheet_Exists ()Dim wb Som arbetsbokAnge wb = ActiveWorkbookMsgBox RangeExists (wb, "Sheet1")Avsluta Sub
wave wave wave wave wave