11. januar 2011 - 10:33Der er
18 kommentarer og 1 løsning
Vis kolonne
Har 2 ark
Ark 1 indtastes værdier
A1 = X A2 = Y A3 = Z A4 A5 o.s.v.
Ark 2 indeholder så nogle formler i de enkelte kolonner - disse kolonner er skjulte.
Det jeg gerne vil have er så, eks. hvis A1 er udfyldt så skal kolonne b i ark 2 vises, A2 udfyldt skal kolonne C vises i ark 2 ellers skal kolonner forblive skjulte
Kan denne VBA procedure eventuelt bruges. Det er lavet i den engelske 2003 version af Excel.
I Woorkbook´ens ThisWorkbook modul har jeg følgende kode:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sheet1.Range("A1").Value = "X" Then Sheet2.Columns(2).EntireColumn.Hidden = False
Er det muligt, at det kun kan omhandle nogle kolonner i ark 2 eks. kolonne a til e således, at de øvrige kolonner kan anvendes uden at blive påvirket af koden ?
Koden skal ligge i hændelsen: Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
i det generelle workbook modul kaldet: ThisWorkbook
Det betyder, at hvergang der ændres en værdi i din woorkbook, så tjekker workbook´en lige ændringen og udfører de handlinger du har sat op i hændelsen!
Her er en kode, som omhandler cellerne A1, A2, A3, A4 og A5 på sheet1 samt viser/skjuler kolonnerne A-E på sheet2:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Undersøg adressen, som kalder denne procedure Select Case Target.Address
'case: celle A1 Case "$A$1"
'hvis celle A1 på sheet1 er = X If Sheet1.Range("A1").Value = "X" Then
'vis hele kolonne A på sheet 2 Sheet2.Columns(1).EntireColumn.Hidden = False
Else
'skjul hele kolonne A på sheet 2 Sheet2.Columns(1).EntireColumn.Hidden = True
End If
'case: celle A2 Case "$A$2"
'hvis celle A2 på sheet1 er = Y If Sheet1.Range("A2").Value = "Y" Then
'vis hele kolonne B på sheet 2 Sheet2.Columns(2).EntireColumn.Hidden = False
Else
'skjul hele kolonne B på sheet 2 Sheet2.Columns(2).EntireColumn.Hidden = True
End If
'case: celle A3 Case "$A$3"
'hvis celle A3 på sheet1 er = Z If Sheet1.Range("A3").Value = "Z" Then
'vis hele kolonne C på sheet 2 Sheet2.Columns(3).EntireColumn.Hidden = False
Else
'skjul hele kolonne C på sheet 2 Sheet2.Columns(3).EntireColumn.Hidden = True
End If
'case: celle A4 Case "$A$4"
'hvis celle A4 på sheet1 er = Æ If Sheet1.Range("A4").Value = "Æ" Then
'vis hele kolonne D på sheet 2 Sheet2.Columns(4).EntireColumn.Hidden = False
Else
'skjul hele kolonne D på sheet 2 Sheet2.Columns(4).EntireColumn.Hidden = True
End If
'case: celle A5 Case "$A$4"
'hvis celle A5 på sheet1 er = Ø If Sheet1.Range("A5").Value = "Ø" Then
'vis hele kolonne E på sheet 2 Sheet2.Columns(5).EntireColumn.Hidden = False
Else
'skjul hele kolonne E på sheet 2 Sheet2.Columns(5).EntireColumn.Hidden = True
End If
End Select
End Sub
Jeg vil også gerne poste dig min Excelfil, hvis det vil en bedre hjælp ??
Har et indtastningsark "Ark1" - og så er der nogle beregningsark "Ark2", "Ark3", "Ark4"...o.s.v. Disse ark henter de oplysninger der er indtastet i "Ark1" kolonne A. Men der skal kun vises beregninger i forhold til det der er indtastet i Ark1 og derfor skal diverse kolonner skjules i ark2 m.fl.
Er det de samme kolonner på de eferfølgende ark ? Hvor mange ark drejer det sig om ? ... eller skal vi bare lave princippet i det, som du så selv tilretter, alt efter kolonner / ark antal ?
Tak for din indsats - jeg ser på det senere. Lige nu virke den anden kode jeg har lagt på arket - efter hensigten. Du skal nok få en tilbagemelding når jeg har omskrevet din nye fremsendte kode. Smid et svar så du kan høste dine velfortjente point.
Hvis du render ind i bøvl ... så er du velkommen til at sende en mail til nicolaifogt@gmail.com
Med venlig hilsen, Nicolai
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.