Hirdetés

Keresés

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

  • Mutt

    senior tag

    válasz Gandalf80 #19835 üzenetére

    Hello,

    2. Feladat:
    Van-e arra mód, hogyha valaki áll egy cellába, akkor az adott sor színes legyen?

    Erre nem láttam még választ, de itt van pár lehetőség. A minta fájl letöltethető innen.

    1. Tisztán VBA-val vhogy így megoldható:
    Private korabbi As Range

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim kijelol As Range

    'elég csak 1 oszlopot megjegyeznünk
    Set kijelol = Target.Resize(, 1)

    'ha még nincs mit eltüntetni, akkor csak szinezünk
    If korabbi Is Nothing Then
    kijelol.EntireRow.Interior.Color = RGB(127, 127, 127)
    Else
    korabbi.EntireRow.Interior.Pattern = xlNone
    kijelol.EntireRow.Interior.Color = RGB(127, 127, 127)
    End If

    Set korabbi = kijelol

    End Sub

    A kód a kijelölt sorokat átszinezi, ezért ha eleve ki van szinezve az adatsor, akkor ez elrontja azt.

    2. Feltételes formázás
    Ehhez kell egy rövid kód:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    'válassz a lapon egy üres cellát, ahol tárolhatjuk az aktuális sor számát
    Range("G1") = ActiveCell.Row

    End Sub

    Ha ez megvan, akkor már csak egy feltételes formázást kell beállítani.

    3. Add-in használata
    A Kutools tud ilyet.

    üdv

  • bandus

    veterán

    válasz Gandalf80 #19835 üzenetére

    szia, az első kérdésedre tudom a választ, biztos leeht jobban is csinálni, de működik, én is csak most tanulom a dolgot.

    Sub transzponalas()

    ActiveSheet.Range("A1:B7").Copy 'itt adod meg a másolandó ranget amire épp szükséged van

    'itt megadod a másolás helyét, a Munka2-t átírod a kívánt munkalap nevére, jelen esetben azt hiszem Kiküldve I, A1 cella
    'helyére pedig a tartomány első celláját írod
    Sheets("Munka2").Range("A1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
    'Sheets("Munka2").Activate ha szeretnéd, hogy a másik munkalap legyen aktív ezután, akkor vedd ki e sor elejéről a '-t

    Application.CutCopyMode = False 'ez megszünteti a kijelölést

    End Sub

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