Hirdetés

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

  • #90999040
    törölt tag

    megtaláltam:
    Sub rög4()
    'minta védelem feloldására
    Sheets("Munka2").Select
    'azért kell először feloldani a védelmet, mert a kijelölés munka1!a1 megszűnik
    pass = "123456789"
    ActiveSheet.Unprotect pass
    'most lehet másolni!
    Sheets("munka1").Select
    Range("a1").Select
    Selection.Copy
    Sheets("Munka2").Select
    Range("A1").Select
    ActiveSheet.Paste
    'majd rátenni a védelmet!
    ActiveSheet.Protect Password:=pass
    Sheets("munka1").Select
    End Sub :)

    Pontosan ezekről beszéltem. Ezt a kódot így is meg lehetne csinálni:

    Sheets("munka1").Select
    pass = "123456789"
    Sheets("munka2").Unprotect pass
    Sheets("munka1").Range("a1").Copy Destination:=Sheets("Munka2").Range("A1")
    Sheets("munka2").Protect Password:=pass

    Ez pontosan azt csinálja, amit a Tiéd, csak nem 11, hanem 5 sorban.
    Újra kihangsúlyozom: VBA-ban a Select és az Activate használatát csak elkerülhetetlen esetben célszerű használni, így a legtöbb esetben az Application.ScreenUpdating használata is feleslegessé válik(kivéve, ha az aktív munkalapra másolsz nagy mennyiségű adatot), valamint a kód is áttekinthetőbb.

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