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

Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???

[es] :: Office :: Excel :: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???

[ Pregleda: 3024 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bambocha
Novi Sad

Član broj: 10908
Poruke: 37
*.nspoint.net.



Profil

icon Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???05.07.2008. u 18:07 - pre 192 meseci
Pozdrav !

Napravio sam makro koriscenjem Edit / Replace ... koji mi ne radi kako sam zamislio, u prilogu dostavljam dole makro sa opisom sta je OK i opis problema, ako moze neko da mi pomogne
================================
' ok1 Macro koji farba sadrzaj celije
' Macro recorded 7/5/2008

'----kopira podatak sa selektovane celije u excelu OVO JE OK ------

Selection.Copy

'-----u polju Replace menja sadrzaj celije u bold i farba u crveno OVO JE OK-----

With Application.ReplaceFormat.Font
.FontStyle = "Bold"
.Subscript = False
.ColorIndex = 3
End With
'------ posto je selektovan podatak "y1" u celiji PC ubacuje
' taj "y1" u polje find i replace A TO NE ZELIM NEGO ZELIM
'DA BUDE NEKA PROMENJIVA KOJA CE AUTOMATSKI DA SE AZURIRA
'U ZAVISNOSTI OD PODATKA U CELIJI
Znaci kako da ubacim umesto "y1" sto se vidi dole, neku promenjivu koja
uzima podatak iz celije gde je pokazano misem. -------OVO DOLE MI JE PROBLEM

Cells.Replace What:="y1", Replacement:="y1", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
Application.CutCopyMode = False
End Sub
==================================

Ili jednostavno receno ...
Problem mi je napisati makro koji farba sve podatke na radnom listu ako se selektuje celija sa tim podatkom?
Pozdrav !
Sve je u nasim rukama i sve zavisi od nas samih !
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1319

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???05.07.2008. u 21:02 - pre 192 meseci
Unesi sledeći kod unutar događaja SelectionChange za taj Sheet na kom radiš:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    ' ako je obeležena prazna-ćelija, odmah izlazi
    If ActiveCell.Value = "" Then Exit Sub

    With Application.ReplaceFormat.Font
        .FontStyle = "Bold"
        .ColorIndex = 3
    End With

    Cells.Replace What:=Target, Replacement:=Target, LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
    
    Application.CutCopyMode = False

End Sub

Edit: dodat fajl sa makroom.

[Ovu poruku je menjao 3okc dana 06.07.2008. u 09:03 GMT+1]
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
Prikačeni fajlovi
 
Odgovor na temu

Bambocha
Novi Sad

Član broj: 10908
Poruke: 37
*.nspoint.net.



Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???06.07.2008. u 02:54 - pre 192 meseci
Hvala Zoks,

Izvinjavam se ali ja bas nisam jako vican sa VB kodom.
Da li bi mogao ceo kod mi prikazes jer sam probao sve kombinacije kojih sam se setio.
Na primer, excel 2003 u kom radim ne prihvata tek tako.....

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

jer trazi da negde ubacim End Sub a ne znam gde i u kom redu da ubacim ?
vidi kako sam uradio ali opet ne radi …
=======================
Sub ok1()

' ok1 Macro koji farba sadrzaj celije
' Macro recorded 7/5/2008

'--kopira podatak sa selektovane celije u excelu OVO JE OK-----
Selection.Copy

' definisem target value OVO NE ZNAM GDE DA UBACIM---------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

' ako je obeležena prazna-celija, odmah izlazi OVO JE OK---------
If ActiveCell.Value = "" Then Exit Sub

'--u polju Replace menja sadrzaj celije u bold i farba u crveno OVO JE OK----
With Application.ReplaceFormat.Font
.FontStyle = "Bold"
.Subscript = False
.ColorIndex = 3
End With

'-- posto je selektovan podatak w1 u celiji PC ubacuje taj podatak OK MI JE -------
Cells.Replace What:=Target, Replacement:=Target, LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
Application.CutCopyMode = False
End Sub
========================

Hvala i Veliki Pozdrav !

Sve je u nasim rukama i sve zavisi od nas samih !
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???06.07.2008. u 07:53 - pre 192 meseci
Koliko sam ja shvatio code by @3okc ubacuješ na mjesto ovoga tvog
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)" ali nemoj staviti "End Sub", on dolazi samo na kraju

btw: vidi attachment ovog posta
Prikačeni fajlovi
 
Odgovor na temu

Bambocha
Novi Sad

Član broj: 10908
Poruke: 37
*.nspoint.net.



Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???06.07.2008. u 16:21 - pre 192 meseci
Veliko Hvala Zoks i Ivane,

Sad sam shvatio kako i gde se to kuca.
Udjem ja u Excel i kad sam klikno na prvu celiju, kao smajserom ofarba ga iz prve i dalje ja setam po radnom listu, koristivsi kurzorske tastere i skontam da on farba sve zivo na sta naidje, radi kao nagazna mina. :-))
Ljudi, ovaj kod je kao rucni malokalibarski mitraljeski top. Ubicu nekog sa ovim:-)))
Svaka Vam cast. Ne da radi nego ..… i previse.
Ne znam kako da vam napisem ….... sada mi je problem sto nemam kontrolu nad tim kodom.
Ispada da imam muzicke zelje ali stvarno problemi su sledeci ako mozete da otklonite :

1. Kad kliknem na celiju sa sadrzajem “y1” on meni ofarba i “y111”
Znaci tu bi trebalo nesto kao “Match case” sto ima u Edit / Find & Replace

2. Sa kurzorskim tasterom kada setam po radnom listu, farba sve zivo - pucacina na sve strane, a to bih hteo da sprecim.
Hteo bih kod bez “Selection change” nego da radi kao poseban makro koji bih (sto znam) vezao za taster. Ovim obezbedjujem normalno setanje po radnom listu odnosno kontrolu nad kodom.

Hvala unapred ako moze jos jednom da vas cimam.

Veliki Pozdrav !!!

Sve je u nasim rukama i sve zavisi od nas samih !
 
Odgovor na temu

Bambocha
Novi Sad

Član broj: 10908
Poruke: 37
*.nspoint.net.



Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???07.07.2008. u 00:25 - pre 192 meseci
Za sada sam resio ovo ....
Za problem
Citat:
Bambocha

1. Kad kliknem na celiju sa sadrzajem “y1” on meni ofarba i “y111”
Znaci tu bi trebalo nesto kao “Match case” sto ima u Edit / Find & Replace

Treba u kodu za makro staviti LookAt:=xlWhole

[Ovu poruku je menjao Bambocha dana 07.07.2008. u 01:49 GMT+1]
Sve je u nasim rukama i sve zavisi od nas samih !
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1319

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???08.07.2008. u 18:15 - pre 192 meseci
Citat:
Bambocha: sada mi je problem sto nemam kontrolu nad tim kodom.


Koristi neki prekidač, eksplicitni ili implicitni, kome ćeš pristupati iz Sheet-a, pa pre nego što bi makro počeo sa zamenom samo treba da ispita njegovu vrednost. Npr, možeš da koristiš jednu ćeliju samo za tu svrhu..

Pošto ovo rešenje već uključuje korišćenje makroa (tj ne može da ga izbegne), možeš i nekom kombinacijom iz makroa..

..kao što sam ja uradio.. :)

Promena vrednosti "na klik" podrazumeva i povratak kursora na prethodno mesto.. To znači da nam je potrebna promenljiva koja će uvek da pamti odakle smo negde došli. Ovu vrednost postavljamo odmah, još prilikom otvaranja:


ThisWorkbook
Code:
Private Sub Workbook_Open()
    
    Set rngCrsr = ActiveCell
End Sub



Sheet2
Code:
Option Explicit
Public rngCrsr As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If ActiveCell.Address = "$B$1" Then Prebacach
    Set rngCrsr = ActiveCell
    If IsEmpty(ActiveCell) Or _
        Range("B1") = ">ništa se ne dešava<" Then Exit Sub
    
    Application.ReplaceFormat.Clear

    With Application.ReplaceFormat.Font
        .FontStyle = "Bold"
        .ColorIndex = 3
    End With

    Cells.Replace _
        What:=ActiveCell.Value, _
        Replacement:=ActiveCell.Value, _
        LookAt:=xlWhole, _
        SearchOrder:=xlByRows, _
        MatchCase:=True, _
        SearchFormat:=False, _
        ReplaceFormat:=True
    
    Application.ReplaceFormat.Clear
End Sub

Private Sub Prebacach()

    If Range("B1") = ">ništa se ne dešava<" _
        Then
            Range("B1") = "<BOJI SVE ISTE>"
        Else
            Range("B1") = ">ništa se ne dešava<"
    End If
    rngCrsr.Select
End Sub


Edit: rngCrsr mora biti Public, ispravljeno u kodu i att

[Ovu poruku je menjao 3okc dana 08.07.2008. u 19:28 GMT+1]
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
Prikačeni fajlovi
 
Odgovor na temu

Bambocha
Novi Sad

Član broj: 10908
Poruke: 37
*.nspoint.net.



Profil

icon Re: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???09.07.2008. u 04:00 - pre 192 meseci
Zoks nemam reci ...
Ne mogu da verujem, uopste nije dug kod a efikasan.
Hvala, Hvala, Hvala ... Sta da ti kazem...
Tvoj kod je .... blago receno strava.
Ovo radi bas kako treba.

VELIKI POZDRAV !!!
Sve je u nasim rukama i sve zavisi od nas samih !
 
Odgovor na temu

[es] :: Office :: Excel :: Makro za nalazenje podataka na radnom listu i njegovo farbanje u neku boju ???

[ Pregleda: 3024 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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