Arbetsblad som formulär
Här demonstreras några tekniker som kan komma väl till användning vid utformning av arbetsblad som formulär.Tilldela celler värden genom dubbelklickning
Istället för att användarna ska kryssa i celler manuellt kan det ske smidigare genom dubbelklickning i celler.
Denna teknik kan användas till många ändamål, såsom datum- och tidsstämpling.
Följande procedur skapas i den aktuella arbetsbladets modul:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'© 2003 Alla rättigheter XL-Dennis
Dim rnData As Range
Set rnData = Range("A1,A3,A5")
'Om den aktiva cellen är inom det definierade cellområdet tilldelas cellen ett x vid dubbelklickning.
If Not Intersect(Target, rnData) Is Nothing Then ActiveCell.Value = "X"
'Här förhindrar vi att vid dubbelklickning hamnar i redigeringsläge.
Cancel = True
End Sub
Tillåt endast markering av indataceller
När vi aktiverar arbetsbladskydd så kan vi vandra mellan de oskyddade cellerna mha TABB-tangenten.
Denna teknik kan förbättras och utan att vi använder oss av tangenten ifråga för förflyttning. Vi begränsar helt enkelt användarnas möjligheter.Följande procedur skapas i det aktuella arbetsbladets modul:
Option Explicit
Private Sub Worksheet_Activate()
'© 2003 Alla rättigheter XL-Dennis
With Me
.Unprotect Password:="Dennis"
.EnableSelection = xlUnlockedCells
.Protect Password:="Dennis"
End With
End Sub
Markera en specifik cell efter datainmatning
Här finns ett flertal sätt att hantera detta på varav ett visas här. Beroende på utfallet väljs en av två önskade celler i exemplet.
Följande procedur skapas i det aktuella arbetsbladets modul:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'© 2003 Alla rättighter XL-Dennis
Dim rnCell As Range, rnCell1 As Range, rnCell2 As Range
With Me
Set rnCell = .Range("A1")
Set rnCell1 = .Range("B2")
Set rnCell2 = .Range("C2")
End With
If Target.Address = rnCell.Address Then
Select Case rnCell.Value
Case 1: rnCell1.Select
Case 2: rnCell2.Select
End Select
End If
End Sub
Begränsa arbets- och visningsytan
Att begränsa arbets- och visningsytan i arbetsblad kan ske med vissa tilläggsverktyg såsom med Power Utility Pak eller R-Verktyg.
Finns dessa ej att tillgå eller det inte är tillåtet med denna typ av tilläggsverktyg kan vi lösa det på följande sätt.
Följande procedur skapas i det aktuella arbetsbladets modul:
Option Explicit
Private Sub Worksheet_Activate()
'© 2003 Alla rättighter XL-Dennis
With Me
'Begränsa arbetsytan
.ScrollArea = "A1:C40"
'Begränsa arbets- och visningsytan
.Columns("D:IV").Hidden = True
.Rows("41:65536").Hidden = True
End With
End Sub