Telefonszámunk: 1-472-0679

Szerkesztés zárolása makró

Kezdőlap Fórumok Excel programozás Szerkesztés zárolása makró

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • #9746
    kovacsl1968
    Felhasználó

      Sziasztok!
      Makró kérdés. Olyan makrót szeretnék létrehozni ami a következő műveletet végezné: ha a (pl.) X1 cella értéke = NYITVA, akkor a B1:C10 tartomány szerkeszthető, ha viszont átállítom az értéket arra, hogy ZÁRVA, akkor ugyanaz a tartomány nem szerkeszthető.
      Valakinek ötlete?

      #9747
      horvimi
      Adminisztrátor

        Szia!

        A munkalap onChange eseményéhez lehet megírni a zárolási vagy feloldási műveletet.
        Mit tudsz az Excel makrók eseménykezeléséről?

        Kicsit nézz utána, most csak ennyi időm volt.

        Imre

        #9928
        verax
        Felhasználó

          Szia kovacsI1968!

          Lépésenként
          Előkészületek:
          1. Jelöld ki azt a bizonyos „X1” cellát!
          2. Kezdőlap – Formátum – Cella formázása… Védelem fülön vedd ki a „Zárolt” jelölő négyzetből a pipát!
          3. Állítsd be „X1”-re érvényesítést. Ezt az Adatok menü – Érvényesítés parancsával teheted meg. Alt+Y, V, R
          3/a A megjelenő Beállítások fülön a „Bármilyen érték” helyett válaszd a „Lista” kifejezést!
          3/b A Forrás mezőbe írd ezt: NYITVA;ZÁRVA ezután [OK]

          Kódírás:
          1. Alt+F11. Ezzel beléptél a Microsoft Visual Basic felületre.
          2. Kattints duplán annak a munkalapnak a nevére, amelyiken az általad említett „X1” cella tartalmát szeretnéd figyelni! Ezzel megnyílik a kódszerkesztő ablak.
          3. A „(General)” szöveg lenyílóját változtasd át – nyisd le, válasz ki – „Worksheet”-re!
          4. Létre jött egy …

          Private Sub Worksheet_SelectionChange(ByVal Target as Range)
          
          End Sub

          kód részlet. Az üres sorban villog a kurzor.

          5. Ide írd a következő utasításokat:

          On Error GoTo HibaEsetén:
          If Sheets("Munka1").Range("X1").Value="NYITVA" Then
          ActiveSheet.Unprotect
          Else
          ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
          End If
          HibaEsetén:

          * természetesen a Munka1 név helyett a saját unkalapod nevét írd be!
          6. Bezárhatod a kódszerkesztőt és dolgozhatsz a munkalapon. Feltéve hogy NYITVA vagy. 😉

          üdvözlettel
          verax

          • A hozzászólás módosításra került: 10 months, 4 weeks telt el-verax.
          • A hozzászólás módosításra került: 10 months, 4 weeks telt el-verax.
        3 bejegyzés megtekintése - 1-3 / 3
        • Be kell jelentkezni a hozzászóláshoz.