Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Pomoč pri skrivanju vrstic s pomočjo VBA

 
 
25.11.2012, 9:58
Pozdravljeni,

sem povsem nov pri VBA, vendar bi potreboval macro - kodo, ki bo naredil naslednje:

- na več delovnih listih so nekatere (iste) vrstice privzeto skrite,
- v določenem stolpcu, recimo Range(M1:M300), ugotovi katere celice vsebujejo znak "+" in katere znak "-",
- ugotovi tudi v katerih vrsticah se nahajajo znaki "+",
- nakar prikaže naslednjo vrstico od tiste kjer je znak "+" (recimo, da je "+" v celici M10, prikaže naj se vrstica 11).
- če celica vsebuje znak "-" ostane naslednja vrstica skrita.

Ne vem tudi ali je mogoče narediti en macro za cel delovni zvezk ali samo za posamični delovni list?

Najprej sem mislil to narediti z ActiveX kontrolniki (checkbox ... ), vendar ne delujejo tako kot bi želel.

Vnaprej hvala za pomoč


changed: NikMan (25.11.2012, 13:02)
 
 
 
25.11.2012, 12:35

Sub PrikaziVrstice()
For Each sht In Worksheets
sht.Activate
For Each cell In Range("M1:M300")
If cell.Value = "+" Then
Rows(cell.Row + 1 & ":" & cell.Row + 1).Select
Selection.EntireRow.Hidden = False
End If
Next
Next
End Sub



changed: kljuka (25.11.2012, 12:35)
 
 
 
25.11.2012, 16:53
Nič se ne zgodi, ne deluje ... če pa spremenim tako:

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sht In Worksheets
sht.Activate
For Each cell In Range("M1:M300")
If cell.Value = "+" Then
Rows(cell.Row + 1 & ":" & cell.Row + 1).Select
Selection.EntireRow.Hidden = False
End If
Next
Next
End Sub

pa debuger javi napako 1004 - napaka metode "Select" razreda "Range"

P.S. Si ti mogoče spremenil naslov te objave?
 
 
 
25.11.2012, 16:54
... a ne, že vidim, NikMan jo je!
 
 
 
25.11.2012, 17:06
Si prekopiral moj makro v VBA in zgoraj stistnil zeleno puščico za zagon makra?
 
 
 
25.11.2012, 18:11
Sem vendar ne dela. Za vrstico

"Rows(cell.Row + 1 & ":" & cell.Row + 1).Select"

javlja "Runtime Error 1004" - "Metoda Select razreda Range ni uspela".


changed: Mowgli (26.11.2012, 16:08)
 
 
 
29.11.2012, 17:05
kljuka:
Sub PrikaziVrstice()
For Each sht In Worksheets
sht.Activate
For Each cell In Range("M1:M300")
If cell.Value = "+" Then
Rows(cell.Row + 1 & ":" & cell.Row + 1).Select
Selection.EntireRow.Hidden = False
End If
Next
Next
End Sub


Očitno sem nekaj narobe delal, danes sem se ponovno lotil in tvoj macro dela točno to kar sem želel!
Res hvala za pomoč


changed: Mowgli (29.11.2012, 17:07)
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!