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

VBA kako izabrati Range

[es] :: Office :: Excel :: VBA kako izabrati Range

[ Pregleda: 1125 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.dynamic.sbb.rs.



+322 Profil

icon VBA kako izabrati Range28.06.2017. u 07:25 - pre 82 meseci
Potrebno mi je da korisnik obelezavanjem misa, selektuje cejile u kojima ce program nesto uraditi.
Koristim sledeci code:
Code:

Private Sub range()
    Dim rg1 As range
    Set rg1 = Application.InputBox(Prompt:="Odaberite range", Title:="Korak 1", Type:=8)
    MsgBox (rg1.Address)
End Sub


Kada misem odaberem rang on izgleda ovako:


Medjutim ukoliko u istoj tabeli ukljucim filter i izbacin neku od stavki, kada izaberem rang on izgleda ovako:


Problem mi je to, sto u selektovani range program uzme i hajdovane celije (hajdovane su zbog filtera).
Treba mi nacin kako mogu da selektujem odredjene celije na nacin kako to radi SELECT u Excelu. Naime ako selektujem neku tabelu u kojoj je aktivan filter ta selekcija obuhvati samo one celije koje nisu obuhvacen filterom (nece obuhvatiti celije u redovima 6, 8 i 10).



Prikačeni fajlovi
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.dynamic.sbb.rs.



+322 Profil

icon Re: VBA kako izabrati Range28.06.2017. u 07:39 - pre 82 meseci
Sada mi je palo na pamet moguce resenje. Program bi mogao da prodje kroz selektovani range i proveri da li su row ili column svake izabrane celije hide i ako jesu da ih preskoci ali pretpostavljam da mozda ima elegantnije resenje da se u startu obelezi ispravan range.
 
Odgovor na temu

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

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

Sajt: www.gowi.rs


+109 Profil

icon Re: VBA kako izabrati Range28.06.2017. u 08:27 - pre 82 meseci
Možeš da iskoristiš metod SpecialCells za Range objekat
Code:
rg1.SpecialCells(xlCellTypeVisible)


Npr. kod iz primera bi mogao da bude
Code:
Private Sub range()

    Dim rg1 As range
    On Error GoTo Cancellation
    Set rg1 = Application.InputBox(Prompt:="Odaberite range", Title:="Korak 1", Type:=8)

    MsgBox rg1.SpecialCells(xlCellTypeVisible).Address
    Exit Sub
Cancellation:
    MsgBox "Operacija je otkazana", vbApplicationModal
    
End Sub


U primeru sam dodao i neku poruku u slučaju Cancel na Input box
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.dynamic.sbb.rs.



+322 Profil

icon Re: VBA kako izabrati Range28.06.2017. u 08:55 - pre 82 meseci
Zanimljivo, elegantnije resenje.
 
Odgovor na temu

[es] :: Office :: Excel :: VBA kako izabrati Range

[ Pregleda: 1125 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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