Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketVBA problemer

 Besvar Besvar
Forfatter
krille15 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 24.Sep.2017
Land: danmark
Status: Offline
Point: 33
Direkte link til dette indlæg Emne: VBA problemer
    Sendt: 15.Nov.2017 kl. 13:13

Sub Uge1()


If D4 = 1 Then


For rep = 36 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = True


Next rep


End Sub


Sub Uge11()


For rep = 46 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = False


Next rep


End Sub


Sub Uge2()


If D4 = 2 Then


For rep = 46 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = True


Next rep


End Sub


Sub Uge12()


If D4 > 2 Then


For rep = 56 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = False


Next rep


End Sub



Sub Uge3()


If D4 = 3 Then


For rep = 56 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = True


Next rep


End Sub


Sub Uge13()


If D4 > 3 Then


For rep = 66 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = False


Next rep


End Sub


Sub Uge4()


If D4 = 4 Then


For rep = 66 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = True


Next rep


End Sub


Sub Uge14()


If D4 > 4 Then


For rep = 76 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = False


Next rep


End Sub


Sub Uge5()


If D4 = 5 Then


For rep = 76 To 85

    Sheets("ark1").Rows(rep & ":" & rep).EntireRow.Hidden = True


Next rep


End Sub



Kan ikke helt forstå hvad det er jeg gør galt. Det er meningen af den skal kunne skjule de rækker baseret på om der står 1,2,3,4,5 hvor hvis der står 1 så skal den altså skjule fra række 36:85 og omvendt hvis der står 2 så skal den vise 36:45 igen men skjule fra 46:85 osv. 

håber der er nogen der kan være behjælpelige :) 
Til top



Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
Direkte link til dette indlæg Sendt: 15.Nov.2017 kl. 17:53
Det der ville jeg lave HELT anderledes!

For det første, så behøver du ikke en makro til hver uge, da du alligevel styrer det hele fra celle D4 af.
For det andet, så undlad kombinationen af vis/skjul - bare start med at vise det hele og så skjule de ønskede rækker.
For det tredje ville jeg slet ikke bruge et loop, med blot skjule rækkerne direkte.

Noget i denne stil:
Cells.EntireRow.Hidden = False
Select Case
Range("D4").Value
    Case 1:   Range("36:85").EntireRow.Hidden = True
    Case
2:   Range("46:85").EntireRow.Hidden = True
    Case
3:   Range("56:85").EntireRow.Hidden = True
    Case
4:   Range("66:85").EntireRow.Hidden = True
    Case
5:   Range("76:85").EntireRow.Hidden = True
End Select


Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
Studerende Se dropdown
Forum Begynder
Forum Begynder


Medlem: 01.Nov.2017
Land: danmark
Status: Offline
Point: 1
Direkte link til dette indlæg Sendt: 16.Nov.2017 kl. 14:51
Hej igen, 

hvis den så skal kunne "opdater" arket når man trykker en ny værdi i d4 hvordan gør man så det?

Mvh Kristoffer
Til top
Kurt Kubik Se dropdown
Sølv bruger
Sølv bruger


Medlem: 18.Feb.2012
Status: Offline
Point: 209
Direkte link til dette indlæg Sendt: 16.Nov.2017 kl. 16:46
Hvorfor har du pludseligt skiftet navn?

Placér denne kode i ark-modulet:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D4")) Is Nothing Then
        'Placér din kode her...
        'Eller endnu bedre: Kør din sub herfra
    End If
End Sub
Til top
krille15 Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 24.Sep.2017
Land: danmark
Status: Offline
Point: 33
Direkte link til dette indlæg Sendt: 16.Nov.2017 kl. 19:42
af uforklarlige årsager så har jeg logget ind med et gammelt login som jeg havde... nå tilbage igen.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D4")) Is Nothing Then
       Cells.EntireRow.Hidden = False
Select Case Range("D4").Value
    Case 1:   Range("36:85").EntireRow.Hidden = True
    Case
2:   Range("46:85").EntireRow.Hidden = True
    Case
3:   Range("56:85").EntireRow.Hidden = True
    Case
4:   Range("66:85").EntireRow.Hidden = True
    Case
5:   Range("76:85").EntireRow.Hidden = True
End Select
    End If
End Sub

Er det sådan ud mener Kurt

Mvh
Til top
Kurt Kubik Se dropdown
Sølv bruger
Sølv bruger


Medlem: 18.Feb.2012
Status: Offline
Point: 209
Direkte link til dette indlæg Sendt: 16.Nov.2017 kl. 19:49
Ja, det ser da vist fint ud - virker det ikke?
Til top
EXCELGAARD Se dropdown
Platin bruger
Platin bruger


Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
Direkte link til dette indlæg Sendt: 17.Nov.2017 kl. 16:02
Yeps, det burde virke Smile
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk