Skjul kolonner i VBA, hvis værdien i en celle skifter
Hej
Jeg har et skema i et excel ark, hvori der er en celle som indikere hvor mange kolonner der skal fremgå, det vil altså sige at hvis jeg i celle "E5" = 3 skal kolonne "F:H" fremkomme, og igen hvis "E5" = 7 så skal kolonne "F:L" fremkomme osv, dette gøres gældende helt op til "E5" = 20 og kolonnerne strækker sig således "F:Y". Er der en kode der kan hjælpe mig med dette problem, jeg har allerede i samme ark indskrevet disse koder:
(Denne kode laver ovenstående bare med rækker og ændre navn i fane) - denne kode virker dog ikke til kolonner, selvom jeg tilretter den med columns og de rigtige celler...
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C4")) Is Nothing Then
If Range("C4") <> "" Then Application.ScreenUpdating = False
n = Range("C4")
Range("14:25").Rows.Hidden = False Range(15 + n & ":25").Rows.Hidden = True
Application.ScreenUpdating = True
End If
End If
If Not Intersect(Target, Range("F14")) Is Nothing Then If Target.Value <> "" Then Sheets(5).Name = Target.Value End If End If
Med OS2ai forsøger Aarhus Kommune og OS2-fællesskabet at give offentlige medarbejdere adgang til generativ AI uden at gøre kommunerne mere afhængige af amerikanske techgiganter.
Hvis du også vil vise nogle skjulte kolonner igen kan du bruge denne makro:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E5")) Is Nothing Then For x = 6 To 5 + Cells(5, 5) Columns(x).Hidden = False Next For x = 6 + Cells(5, 5) To 50 Columns(x).Hidden = True Next End If End Sub
Jens48 - Koden skjuler alle kolonner, men den skal kunne skjule dem alt efter hvad jeg taster i Celle 'E5', det vil sige at taster jeg 5 skal der vises fem af kolonnerne og de resterende 15 skal skjules osv??
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E5")) Is Nothing Then Application.ScreenUpdating = False For x = 6 To 50 Columns(x).Hidden = True Next
For x = 6 To 5 + Range("E5") Columns(x).Hidden = False Next Application.ScreenUpdating = True End If End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
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.