Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dodavanje reda u tabelu na zaključanom radnom listu

[es] :: Office :: Excel :: Dodavanje reda u tabelu na zaključanom radnom listu

[ Pregleda: 1147 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ib.kroki
Beograd

Član broj: 188338
Poruke: 805
...148.91.adsl.dyn.beotel.net.



+36 Profil

icon Dodavanje reda u tabelu na zaključanom radnom listu17.03.2017. u 10:17 - pre 86 meseci
Imam tabelu na zaključanom radnom listu i problem sa automatskim dodavanjem novog reda.

Potreban mi je makro koji će se aktivirati ako je selektovana zadnja otključana ćelija (u primeru to je H9) i pritisnemo TAB, a uradiće sledeće
- otključati radni list (nema šifru)
- na dnu tabele nazvane TBL_Primer dodati novi red
- zaključati radni list (bez šifre)
Zvoni, kucanje ne radi ...
Prikačeni fajlovi
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
89.216.49.*

Sajt: www.gowi.rs


+109 Profil

icon Re: Dodavanje reda u tabelu na zaključanom radnom listu20.03.2017. u 09:08 - pre 86 meseci
Procedura za dodavanje novog reda u tabeli je jednostavna - Otključaj radni list, Dodaj novi red na kraju table, Zaključaj radni list

Code:
Sub AddNewRow()
   ActiveCell.Worksheet.Unprotect
   Selection.ListObject.ListRows.Add AlwaysInsert:=True
   ActiveCell.Worksheet.Protect
End Sub


Vezivanje makroa za neku prečicu na tastaturi je jednostavno Add Shortcut To Macro. Međutim na taj način nije moguće dodeljivanje Tab makrou. Zato pozivanje procedure na Tab možemo da dodamo u kodu - na događaj Workbook_Open (ili na događaj Activate radnog lista ako treba da radi samo na određenom listu)
Code:
Private Sub Workbook_Open()
 Application.OnKey "{TAB}", "MyTabProc"
End Sub


Glavni deo koda je u MyTabProc
Tu treba ispitati uslov - da li smo "na kraju" tabele
Ako jesmo da se pozove gornja procedura za dodavanja reda

Još jedna važna stvara u ovoj proceduri je da pošto smo presreli Tab taster - da ga ponovo prosledimo, ja sam to uradio u kodu sa Next.Select
Code:
Public Sub MyTabProc()
'  Dodaje novi red u tabeli
'  U slucaju da je aktivna celija poslednja otkljucana
'  Dodaje se novi red
'  Procedura se poziva na Tab taster
'  zato je dodato da se odreadi prelazak na novu celiju
'
'  P.Jovanovic za  elitesecurity.org

   Dim uslov As Boolean
   Dim lastRw As Long
   lastRw = Selection.ListObject.ListRows.Count + 1   ' racuna poslednji red tabele
   ' Uslov je da je aktivan celija u poslednjem redu tabele i da je celija iza nje zakljucana
   uslov = Not (ActiveCell.Locked) And ActiveCell.row = lastRw And ActiveCell.Offset(ColumnOffset:=1).Locked
   If uslov = True Then
      AddNewRow
    End If
   ' Odradi Tab - predji u sledecu celiju
   ActiveCell.Next.Select ' Go to Next cell
End Sub



Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

ib.kroki
Beograd

Član broj: 188338
Poruke: 805
...148.91.adsl.dyn.beotel.net.



+36 Profil

icon Re: Dodavanje reda u tabelu na zaključanom radnom listu20.03.2017. u 10:57 - pre 86 meseci
Hvala, hvala, hvala!

Hvala za detaljno objašnjenje, hvala za fajl i još jednom hvala ...
:)

Zvoni, kucanje ne radi ...
 
Odgovor na temu

[es] :: Office :: Excel :: Dodavanje reda u tabelu na zaključanom radnom listu

[ Pregleda: 1147 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.