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

  • Delila_1

    Topikgazda

    válasz ildikol #21513 üzenetére

    Az első makrót a laphoz rendeld. Gondolom, akkor kell másolni a sort, ha egyrészt a P oszlopban egy bizonyos érték van, másrészt ha a sor ki van töltve a P-ig. Az eseménykezelő makró ezeket a feltételeket figyeli.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 16 Then 'P oszlopba írtál
    Application.EnableEvents = False
    Cells(Target.Row, "Q") = Time 'aktuális idő beírása
    Application.EnableEvents = True

    If Cells(Target.Row, "P") = "Ezt kell másolni" Then 'ezt a szöveget írd át
    Masol Target.Row 'Masol makró meghívása, az aktuális sor értékének átadásával
    Else
    Application.CutCopyMode = False
    End If
    End If
    End Sub

    A második makró, ami a másolást végzi, modulba kerüljön. Azért van szükség 2 makróra, mert a laphoz rendelt csak a saját lapján tud intézkedni, de a változó(ka)t, mint most az aktuális sor számát, át tudja adni a másiknak, ami végrehajtja a másolást.
    Nálam a Munka1 lapra írok, a Munka2-re másol a makró. Ezeket írd át a saját lapjaid nevére.

    Sub Masol(sor)
    Dim usor As Long
    usor = Application.CountA(Sheets("Munka2").Columns(1)) + 1
    Sheets("Munka1").Rows(sor).Copy Sheets("Munka2").Cells(usor, 1)
    Application.CutCopyMode = False
    End Sub

    Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

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