I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Dim flag As Boolean Private Sub Worksheet_Activate() flag = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim kol As Object, ræk As Long, kolonne As String, c As String, p As Byte If flag = False Then Application.ScreenUpdating = False
If Target.Address = "$B$9" And Target.Text <> "" Then flag = True For ræk = 13 To 198 If Range("B" & ræk) = "" Then Rows(CStr(ræk) & ":" & CStr(ræk)).Select Selection.EntireRow.Hidden = True End If Next ræk Else If Target.Address = "$B$10" And Target.Text <> "" Then flag = True For Each kol In Range("C12:BZ12").Columns If kol.Value = "" Then Rem Isoler kolonne-bogstav c = Mid(kol.Address, 2) p = InStr(c, "$") kolonne = Left(c, p - 1) Columns(kolonne & ":" & kolonne).Select Selection.EntireColumn.Hidden = True End If Next End If End If End If flag = False End Sub
Synes godt om
Slettet bruger
06. december 2011 - 08:56#3
Drop down er lavet vha. datavalidering, hvor jeg har valgt lister.
Jeg har desværre ikke mulighed for at teste før onsdag, men jeg vil vende tilbage der.
Et enkelt spørgsmål ud fra din kode.
Hvis jeg først vælger en værdi, så skjules alle ikke relevante rækker/kolonner. Hvad hvis jeg derefter vælger en anden værdi?
Vil de rækker der så skal være synlige blive lavet synlige igen?
I min model har jeg også anvendt datavalidering. Der er i koden ikke taget højde for hvilken værdi, der er valgt - idet jeg ikke mener at dette var præciseret.
Rem VERSION 2 Rem ========= Dim flag As Boolean Private Sub Worksheet_Activate() flag = False End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim kol As Object, ræk As Long, kolonne As String, c As String, p As Byte, valgtVærdi As Integer Application.ScreenUpdating = False
If flag = False Then If Target.Address = "$B$9" Then valgtVærdi = Target.Value For ræk = 13 To 198 flag = True Rows(CStr(ræk) & ":" & CStr(ræk)).Select If Range("B" & ræk).Value <> valgtVærdi Then Selection.EntireRow.Hidden = True Else Selection.EntireRow.Hidden = False End If Next ræk Else If Target.Address = "$B$10" Then valgtVærdi = Target.Value For Each kol In Range("C12:BZ12").Columns flag = True Rem Isoler kolonne-bogstav c = Mid(kol.Address, 2) p = InStr(c, "$") kolonne = Left(c, p - 1) Columns(kolonne & ":" & kolonne).Select If kol.Value <> valgtVærdi And valgtVærdi <> 0 Then Selection.EntireColumn.Hidden = True Else Selection.EntireColumn.Hidden = False End If Next Range("B10") = "" End If End If End If flag = False End Sub
Synes godt om
Slettet bruger
07. december 2011 - 08:03#9
Når jeg ændrer værdien i B9 eller B10 melder den fejl på denne linje: valgtVærdi = Target.Value
Fejlbeskeden er: Run-time error '13': Type Mismatch
Rem VERSION 3 Rem ========= Dim flag As Boolean Private Sub Worksheet_Activate() flag = False End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ActiveSheet.Rows.Hidden = False ActiveSheet.Columns.Hidden = False End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim kol As Object, ræk As Long, kolonne As String, c As String, p As Byte, valgtVærdi Application.ScreenUpdating = False
If flag = False Then If Target.Address = "$B$9" Then valgtVærdi = Target.Value For ræk = 13 To 198 flag = True Rows(CStr(ræk) & ":" & CStr(ræk)).Select If Range("B" & ræk).Value <> valgtVærdi Then Selection.EntireRow.Hidden = True Else Selection.EntireRow.Hidden = False End If Next ræk Else If Target.Address = "$B$10" Then valgtVærdi = Target.Value For Each kol In Range("C12:BZ12").Columns flag = True Rem Isoler kolonne-bogstav c = Mid(kol.Address, 2) p = InStr(c, "$") kolonne = Left(c, p - 1) Columns(kolonne & ":" & kolonne).Select If kol.Value <> valgtVærdi And valgtVærdi <> 0 Then Selection.EntireColumn.Hidden = True Else Selection.EntireColumn.Hidden = False End If Next Range("B10") = "" End If End If End If flag = False End Sub
Glemte lidt i følgende - hvis du tilføjer det med FED:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$B$11" Then ActiveSheet.Rows.Hidden = False ActiveSheet.Columns.Hidden = False End If End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.