Print side | Luk vindue

Basic vba problemer for nybegynder

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=414
Udskrevet den: 18.Maj.2024 kl. 14:48


Emne: Basic vba problemer for nybegynder
Besked fra: bosstec
Emne: Basic vba problemer for nybegynder
Posteringsdato: 06.Aug.2011 kl. 09:45
Jeg har denne kode som er knyttet til celle Q8
Hvordan kan jeg lave referencer til andre celler samtidig?
Koden skal også virke til følgende celler:
Q9-Q16 + Q19-Q27 + Q30-Q38 + Q41-Q49 + Q52-Q60 + Q63-Q71 + Q74-Q82
Ligeledes skal de røde referencer i koden stige samtidig.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim formula As String
    If Not Application.Intersect(Target, Range("P8")) Is Nothing Then
        If Target.Value = "Vagtudkald" Then
        Range("Q8").Value = ""
        Range("Q8").Select
            With Selection.Interior
            .Color = RGB(255, 255, 0)
        End With
            With Selection.Validation
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=Time24"
        End With
        Else
        Range("Q8").FormulaLocal = "=IF(OR(P8="""";R7="""");"""";R7)"
        Range("Q8").Select
            With Selection.Interior
            .Color = RGB(217, 217, 217)
        End With
            With Selection.Validation
            .Delete
        End With
        End If
    End If
End Sub



Svar:
Besked fra: rassten
Posteringsdato: 07.Aug.2011 kl. 17:29
Jeg kan ikke se hvad du ønsker med valideringen,
men at få koden til at virker på andre områder og få dine "røde" værdier til at stige, kan du måske bruge
nedenstående som en hjælp


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim formula As String
    If Not Application.Intersect(Target, Range("P8:p16, P19:P27, P30:P38")) Is Nothing Then
        If Target.Value = "Vagtudkald" Then
            Target.Offset(, 1).Value = ""
            Target.Offset(, 1).Interior.Color = RGB(255, 255, 0)
            Target.Offset(, 1).Select
           ' her kan du indsætte din validering
          
            Else
            a = Target.Value
            b = Target.Offset(-1, 2)
            If a = "" Or b = "" Then c = "" Else c = Target.Offset(-1, 2)
            Target.Offset(, 1) = c
            Target.Offset(, 1).Interior.Color = RGB(217, 217, 217)
            Target.Offset(, 1).Select
            ' her kan du indsætte din validering
           
        End If
    End If
   
End Sub





-------------
VH rassten

Arbejde excel 2010
Privat excel 2010



Print side | Luk vindue