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 |