sporočilno polje

Pomoč pri delu z MS Excelom
Odgovori
Toda
Prispevkov: 14
Pridružen: Pe Avg 28, 2009 5:18 pm

sporočilno polje

Odgovor Napisal/-a Toda »

v Excelu imam na enem listu šifrant (stolpec A je šifra, stolpec B je opis), na drugem listu pa imam določene izračune, kjer se vpiše šifro in potem ostale podatke. Zdraven šifre imam sedaj dodan stolpec opis, kjer se s funkcijo vlookup zapiše opis šifre. Rada bi ta stolpec skrila (ali pa morda sploh ni potreben) in bi se opis šifre izpisal v nekakšnem sporočilnem polju (kot npr. komentar). Poskusila sem tudi z določanjem veljavnosti podatkov, vendar v sporočilo ne morem vnesti funkcije, veljavnost podatkov pa tudi sprejme samo en stolpec, ne pa tudi opisov. Ali obstaja rešitev?

Hvala za odgovor.
admin
Site Admin
Prispevkov: 3711
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: sporočilno polje

Odgovor Napisal/-a admin »

Pozdravljeni,

nekako ste me izgubili oz. ne razumem kaj bi želeli doseči:
Toda napisal/-a:Zdraven šifre imam sedaj dodan stolpec opis, kjer se s funkcijo vlookup zapiše opis šifre. Rada bi ta stolpec skrila (ali pa morda sploh ni potreben)
Če bi stolpec želeli skriti oz. ga sploh ne potrebujete; zakaj ste se potem sploh mučili s funkcijo VLOOKUP?
Toda napisal/-a: ...in bi se opis šifre izpisal v nekakšnem sporočilnem polju (kot npr. komentar).
V komentar ne morete vstaviti funkcije, tako da opisa v komentar ne boste mogli spraviti :(
Toda napisal/-a:Poskusila sem tudi z določanjem veljavnosti podatkov, vendar v sporočilo ne morem vnesti funkcije
Veljavnost podatkov je smiselna za vnos in vi lahko z veljavnostjo podatkov kontrolirate šifre (tisto kar vnašate) in ne dešifracij... Če torej vnašate pošte številke potem vam veljavnost lahko kontrolira da so vse vnešene šifre pač res šifre pošt in ne da če vi vnesete 1000 da bi Excel kontroliral da je to Ljubljana - to ni kontrola! Kontrola je samo in izključno ali 1000 je poštna števila ali ne.
Toda napisal/-a:...veljavnost podatkov pa tudi sprejme samo en stolpec, ne pa tudi opisov. Ali obstaja rešitev?
Kot rečeno, vas ne razumem, kaj želite ;(
lp,
Matjaž Prtenjak
Administrator
Toda
Prispevkov: 14
Pridružen: Pe Avg 28, 2009 5:18 pm

Odgovor Napisal/-a Toda »

To, kar imam sedaj v stolpcu B (opis šifre), bi rada imela v sporočilnem polju. Se pravi informacijo, ki je v stolpcu B nujno potrebujem, vendar bi rada imela to informacijo kot neke vrste sporočilno polje in zato stolpec B ne bi bil več potreben. Npr. Ko bi uporabnik napisal šifro bi se mu v posebnem okenčku prikazal opis te šifre.

Upam, da sem bila sedaj kaj bolj jasna.

Lp
admin
Site Admin
Prispevkov: 3711
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

To je rešljivo samo z makrom.
lp,
Matjaž Prtenjak
Administrator
Toda
Prispevkov: 14
Pridružen: Pe Avg 28, 2009 5:18 pm

Odgovor Napisal/-a Toda »

A je makro za tale forum prezapleten, ali lahko podate vsaj namig?
admin
Site Admin
Prispevkov: 3711
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Na listu se morate odzvati na dogodek spremembe vsebine celice Worksheet_Change in če je zaznana sprememba v eni izmed celic ki jih želite dešifrirati potem makro dešifrira celico, ter jo zapiše v komentar celice.
lp,
Matjaž Prtenjak
Administrator
Toda
Prispevkov: 14
Pridružen: Pe Avg 28, 2009 5:18 pm

Odgovor Napisal/-a Toda »

Najprej hvala za namig.
Sedaj sem zapisala makro, ki mi vrednost šifre zapiše v celico G5, kar bo tudi v redu, ker imam zgornje vrstice zamrznjene. No, potem pa sem uporabila še Worksheet_Change, ki zažene omenjeni makro ob spremembi podatkov v stolpcu F. Žal mi sedaj makro vrne vrednost naslednje celice od spremenjene, namesto spremenjene. Ali obstaja rešitev?. (prilagam makro).

hvala za pomoč.

Sub Tester6()

Set rng = Range("a:B")
Results = Application.vlookup(ActiveCell.Value, _
rng, 2, False)
If Not IsError(Results) Then
Range("g5").Value = Results
Else
Range("g5").Value = "konto ne obstaja"
End If
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 6 Then

Tester6

End If
admin
Site Admin
Prispevkov: 3711
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

V makru se ne smete sklicevati na aktivno celico, temveč na celico, ki se je spremenila. Popravek vašega makra je spodaj:

Koda: Izberi vse

Sub Tester6(Target as Range)
  Set rng = Range("a:B")
  Results = Application.vlookup(Target.Value, rng, 2, False)
  If Not IsError(Results) Then
    Range("g5").Value = Results
  Else
    Range("g5").Value = "konto ne obstaja"
  End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 6 Then
    Tester6 Target
  End If
end if
lp,
Matjaž Prtenjak
Administrator
Toda
Prispevkov: 14
Pridružen: Pe Avg 28, 2009 5:18 pm

Odgovor Napisal/-a Toda »

Hvala!
Odgovori