Hirdetés

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

  • Fferi50

    Topikgazda

    válasz tgumis #39238 üzenetére

    Szia!

    Ez a makró egy eseményhez kapcsolódik, ami egy adott helyzetben fut le. Ezért van munkalaphoz kötve.
    Semmi nem tiltja azonban, hogy egy parancsgomb megnyomása esetén ezt az eseményt hívja meg a makró, de akkor át kell adja a target paraméter értékét:
    Sub makro1
    Worksheet_Change Range("A1") vagy Range("A1") helyett Selection
    End Sub

    A gombhoz a makro1-et kell rendelni.
    Ez az eseménykezelő Private, azaz csak azon a munkalapról lehet meghívni, amelyikhez rendelted. Általános kódlapra nem teheted, de amit csinál (ami Sub - End Sub között van) lehet modulba tenni, természetesen megfelelő körültekintéssel.
    Az eseménykezelést lehet a Thisworkbook kódlapjára is tenni, ott a
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'műveletek
    End Sub

    tartalmazhatja a feladatokat. Itt látod két paraméter van, az Sh az a munkalap, amelyen az esemény történt, a Target pedig az a tartomány ahol történt. Ebben az esetben elég ide betenni a műveleteket, természetesen figyelve arra, ha egyik munkalapon más műveletet szeretnénk, mint a másikon. Ezt az Sh paraméter alapján dönthetjük el.
    Remélem jól értettem a kérdésed, mert számomra nem volt eléggé világos.

    Üdv.

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