Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Homer
    tag

    Sziasztok!

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:A50")) Is Nothing Then Exit Sub
    If Selection.Cells.Count > 1 Then Exit Sub
    If Target <> "" Then
    Rows(Target.Row).Interior.ColorIndex = 10
    Else
    Rows(Target.Row).Interior.ColorIndex = xlNone
    End If
    End Sub

    ezt a programot szeretném úgy átalakítani hogy ha kijelölök egy cellát akkor az egész sort beszinezze, de ha másik cellát jelölök ki akkor az előző sor visszaálljon az előző állapotába.

    Szia!

    Nem teljesen értettem amit akartál, de ha minden igaz akkor ilyesmi válaszra vársz. :)
    Egyrészt az nem teljesen világos, hogy az intersect minek bele? Gondolom a több cella egyszerre történő kijelölése végett van benne, így ez esetben az általam javasolt megoldás nem működik majd. De azért gondolkodtam rajta. Tess:

    Public elozo, default As Integer
    Const uj = 3

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    'Az új sor színének beállítására
    Rows(Target.Row).Interior.ColorIndex = uj

    'Annak a vizsgálatára, hogy kell-e visszaállítani formátumot, azaz első kijelölés, vagy már volt előtte kijelölve valami?
    If elozo <> 0 Then
    Rows(elozo).Interior.ColorIndex = default
    End If

    'Az előzőleg kijelölt sor száma
    elozo = ActiveCell.Row

    ' itt az eredeti cella formátumát kellene beállítani az 5 helyett de ezt pontosan nem értettem a leírásodból... :S
    default = 5
    End Sub

Új hozzászólás Aktív témák