# Jan Hansen, mange tak det virker. Dog ville jeg gerne i feltet C2, henvise til felt i andet ark (samme projektmappe), da jeg bruger "Enlig, Gift og samlever" reference i andre sammenhænge. Kan den ikke det, når man bruger VBA, det virker til den først reagerer på indtastning i C2, når man manuelt gør det.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2,C3")) Is Nothing Then Range("D:J").EntireColumn.Hidden = False Range("13:22").EntireRow.Hidden = False Select Case Range("C2").Value Case "Enlig" Range("E:H,J:J").EntireColumn.Hidden = True Range("13:16,20:22").EntireRow.Hidden = True Case "Samlever", "Gift" Select Case Range("C3").Value Case "Nej", "" Range("G:I,D:D").EntireColumn.Hidden = True Range("19:19,21:22").EntireRow.Hidden = True If Range("F14").Value < Range("U5").Value Or _ Range("H12").Value < Range("U4").Value Then Range("15:15").EntireRow.Hidden = True End If Case "Ja" Range("D:F,I:J").EntireColumn.Hidden = True Range("16:16,13:14,19:20").EntireRow.Hidden = True If Range("F14").Value < Range("U5").Value Or _ Range("H12").Value < Range("U4").Value Then Range("15:15").EntireRow.Hidden = True End If End Select End Select End If End Sub
Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2,C3")) Is Nothing Then
Gør at kode køres når der ændres i celle C2 og C3 på den fane koden ligger.
# store-morten Jeg har forsøgt at smide den ind i VBA, men der sker fortsat ikke noget når jeg har været på ark1 for at ændre. Så så har den ikke fjernet rækker og kolonner på det ark6.
Jeg har ikke kunne downloade jeres fil, da dropbox ikke vil sende mig mail til nulstille password (har åbenbart glemt det).
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2,C3")) Is Nothing Then Worksheets("Ark1").Range("D:J").EntireColumn.Hidden = False Worksheets("Ark1").Range("13:22").EntireRow.Hidden = False Select Case Range("C2").Value Case "Enlig" Worksheets("Ark1").Range("E:H,J:J").EntireColumn.Hidden = True Worksheets("Ark1").Range("13:16,20:22").EntireRow.Hidden = True Case "Samlever", "Gift" Select Case Range("C3").Value Case "Nej", "" Worksheets("Ark1").Range("G:I,D:D").EntireColumn.Hidden = True Worksheets("Ark1").Range("19:19,21:22").EntireRow.Hidden = True If Worksheets("Ark1").Range("F14").Value < Worksheets("Ark1").Range("U5").Value Or _ Worksheets("Ark1").Range("H12").Value < Worksheets("Ark1").Range("U4").Value Then Worksheets("Ark1").Range("15:15").EntireRow.Hidden = True End If Case "Ja" Worksheets("Ark1").Range("D:F,I:J").EntireColumn.Hidden = True Worksheets("Ark1").Range("16:16,13:14,19:20").EntireRow.Hidden = True If Worksheets("Ark1").Range("F14").Value < Worksheets("Ark1").Range("U5").Value Or _ Worksheets("Ark1").Range("H12").Value < Worksheets("Ark1").Range("U4").Value Then Worksheets("Ark1").Range("15:15").EntireRow.Hidden = True End If End Select End Select End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
VisSkjulArk = "Ark1" '<-- Tilrettes
If Not Intersect(Target, Range("C2,C3")) Is Nothing Then Worksheets(VisSkjulArk).Range("D:J").EntireColumn.Hidden = False Worksheets(VisSkjulArk).Range("13:22").EntireRow.Hidden = False Select Case Range("C2").Value Case "Enlig" Worksheets(VisSkjulArk).Range("E:H,J:J").EntireColumn.Hidden = True Worksheets(VisSkjulArk).Range("13:16,20:22").EntireRow.Hidden = True Case "Samlever", "Gift" Select Case Range("C3").Value Case "Nej", "" Worksheets(VisSkjulArk).Range("G:I,D:D").EntireColumn.Hidden = True Worksheets(VisSkjulArk).Range("19:19,21:22").EntireRow.Hidden = True If Worksheets(VisSkjulArk).Range("F14").Value < Worksheets(VisSkjulArk).Range("U5").Value Or _ Worksheets(VisSkjulArk).Range("H12").Value < Worksheets(VisSkjulArk).Range("U4").Value Then Worksheets(VisSkjulArk).Range("15:15").EntireRow.Hidden = True End If Case "Ja" Worksheets(VisSkjulArk).Range("D:F,I:J").EntireColumn.Hidden = True Worksheets(VisSkjulArk).Range("16:16,13:14,19:20").EntireRow.Hidden = True If Worksheets(VisSkjulArk).Range("F14").Value < Worksheets(VisSkjulArk).Range("U5").Value Or _ Worksheets(VisSkjulArk).Range("H12").Value < Worksheets(VisSkjulArk).Range("U4").Value Then Worksheets(VisSkjulArk).Range("15:15").EntireRow.Hidden = True End If End Select End Select End If End Sub
Ok, på ark1 er Enlig/Gift/samlever på B27, og Ja/Nej er på B17. Jeg har forsøgt at udfylde C2 med B27, og C3 med B17
Så den ser således ud:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B27,B17")) Is Nothing Then Worksheets("Ark6").Range("D:J").EntireColumn.Hidden = False Worksheets("Ark6").Range("13:22").EntireRow.Hidden = False Select Case Range("B27").Value Case "Enlig" Worksheets("Ark6").Range("E:H,J:J").EntireColumn.Hidden = True Worksheets("Ark6").Range("13:16,20:22").EntireRow.Hidden = True Case "Samlever", "Gift" Select Case Range("B17").Value Case "Nej", "" Worksheets("Ark6").Range("G:I,D:D").EntireColumn.Hidden = True Worksheets("Ark6").Range("19:19,21:22").EntireRow.Hidden = True If Worksheets("Ark6").Range("F14").Value < Worksheets("Ark6").Range("U5").Value Or _ Worksheets("Ark6").Range("H12").Value < Worksheets("Ark6").Range("U4").Value Then Worksheets("Ark6").Range("15:15").EntireRow.Hidden = True End If Case "Ja" Worksheets("Ark6").Range("D:F,I:J").EntireColumn.Hidden = True Worksheets("Ark6").Range("16:16,13:14,19:20").EntireRow.Hidden = True If Worksheets("Ark6").Range("F14").Value < Worksheets("Ark6").Range("U5").Value Or _ Worksheets("Ark6").Range("H12").Value < Worksheets("Ark6").Range("U4").Value Then Worksheets("Ark6").Range("15:15").EntireRow.Hidden = True End If End Select End Select End If End Sub
Men den kommer med Runtime error.
(Vil det sige at der ikke behøver være en C2 og C3 på Ark6, da den tager det direkte fra Ark1?
Bare af nygerrighed, hvad er det disse to gør? If Worksheets("Ark6").Range("F14").Value < Worksheets("Ark6").Range("U5").Value Or _ Worksheets("Ark6").Range("H12").Value < Worksheets("Ark6").Range("U4").Value Then
Den VBA du har givet mig gør lidt knas. Den vil have jeg indtaster i en special rækkefølge på "ark1" (Indtastning).
Hvis jeg f.eks. sætter samlever, dernæst "Ja", og så retter til værdi F14 < U5, så sker der ikke noget. Men sætter jeg sætter værdi ind først i F14 og indtaster Samlever dernæst "Ja", så viser den rækken 15 som den skal. Eller indtaster "samlever", indsætter værdi og dernæst vælger "Ja". Det er som om den ikke aktiverer regel med række 15 hvis værdi i F14 indtastes sidst.
# Jan Hansen Det løser desværre ikke problemet, det er fortsat det samme der sker
Jeg har flyttet lidt i det, B28 samlever, gift eller enlig B18 Ja/Nej
Det er fortsat i stedet for det er række 15 er det nu 117 som skal væk hvis E116 er mindre E106
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B28,B18,I116, K114")) Is Nothing Then Worksheets("Sygdom (data)").Range("G:M").EntireColumn.Hidden = False Worksheets("Sygdom (data)").Range("115:124").EntireRow.Hidden = False Select Case Range("B28").Value Case "Enlig" Worksheets("Sygdom (data)").Range("H:K,M:M").EntireColumn.Hidden = True Worksheets("Sygdom (data)").Range("115:118,122:124").EntireRow.Hidden = True Case "Samlever", "Gift" Select Case Range("B18").Value Case "Nej", "" Worksheets("Sygdom (data)").Range("J:L,G:G").EntireColumn.Hidden = True Worksheets("Sygdom (data)").Range("121:121,123:124").EntireRow.Hidden = True If Worksheets("Sygdom (data)").Range("I116").Value < Worksheets("Sygdom (data)").Range("E106").Value Then Worksheets("Sygdom (data)").Range("117:117").EntireRow.Hidden = True End If Case "Ja" Worksheets("Sygdom (data)").Range("G:I,L:M").EntireColumn.Hidden = True Worksheets("Sygdom (data)").Range("115:116,121:122").EntireRow.Hidden = True If Worksheets("Sygdom (data)").Range("K114").Value < Worksheets("Sygdom (data)").Range("D106").Value Then Worksheets("Sygdom (data)").Range("117:117").EntireRow.Hidden = True End If End Select End Select End If
If Range("B28").Value = "Enlig" Then Worksheets("Sygdom (data)").Range("H:K,M:M").EntireColumn.Hidden = True Worksheets("Sygdom (data)").Range("115:118,122:124").EntireRow.Hidden = True End If
If Range("B28").Value = "Samlever" Or Range("B28").Value = "Gift" Then If Range("B18").Value = "Ja" Then Worksheets("Sygdom (data)").Range("G:I,L:M").EntireColumn.Hidden = True Worksheets("Sygdom (data)").Range("115:116,121:122").EntireRow.Hidden = True End If End If
If Range("B28").Value = "Samlever" Or Range("B28").Value = "Gift" Then If Range("B18").Value = "Nej" Then Worksheets("Sygdom (data)").Range("J:L,G:G").EntireColumn.Hidden = True Worksheets("Sygdom (data)").Range("121:121,123:124").EntireRow.Hidden = True End If End If
If Worksheets("Sygdom (data)").Range("I116").Value < Worksheets("Sygdom (data)").Range("E106").Value Then Worksheets("Sygdom (data)").Range("117:117").EntireRow.Hidden = True End If
If Worksheets("Sygdom (data)").Range("K114").Value < Worksheets("Sygdom (data)").Range("D106").Value Then Worksheets("Sygdom (data)").Range("117:117").EntireRow.Hidden = True End If
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.