opozorilo

Pomoč pri delu z MS Excelom
Odgovori
balasko
Prispevkov: 73
Pridružen: Po Nov 12, 2007 5:38 pm

opozorilo

Odgovor Napisal/-a balasko »

Spoštovani,


Vsako leto za obdobje 1 leta mi mora določeno podjetje posredovati zahtevane podatke.
Tako imam 25 delovnih listov (prvi delovni list, podjetja na A in takovse do do Ž). V posameznem delovnem listu so v stolpcu A zaporedne številke od 1-n, v stolpcu b imena firm, v stolpcu C pa datum (vsako podjetje ima drugi datum posredovanja podatkov, npr. list A vrstica 1: 1; ALTOS; februar 2008, vrstica 2: 2;Aling;oktober 2008).
Prosim vas, kako se da narediti, da naprimer ob zagonu ali odprtji datoteke proogram ali ukaz pregleda stolprc C na vseh delovnih listih in poda opozorilo.

Za podjetje Altos bi 1 februarja ali pa ob prvem zagonu v februarju 2009 ukaz izpisal, da je potrebno obnoviti podatke za Altos, za podjetje Aling pa bo to naredil program oktobra 2008 se pravi čez natanko 1 leto odvisno od vnesenega datuma za določeno podjetje.

Naj omenim, da se seznam lahko v vseh delovnih listih dopolnjuje.

Prosim za pomoč in hvala za odgovore.
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Rešitev je tehnično dokaj preprosta. Najprej potrebujete funkcijo, ki se na nekem listu sprehodi skozi stolpec C in preveri ali je kateri datum v tekočem mesecu ter izpiše ustrezne elemente. To funkcijo pa kliče nadfunkcija, ki se sprehodi preko vseh listov.

Če se boste tega lotili sami, vam bomo na forumu z veseljem pomagali pri konkretnih problemih in mogoče se bo tudi našel kdo, ki vam bo makro v celoti napisal in ga objavil. Če pa želite da vam ga v celoti napišem jaz, pa vas moram preusmeriti na tale link
lp,
Matjaž Prtenjak
Administrator
balasko
Prispevkov: 73
Pridružen: Po Nov 12, 2007 5:38 pm

Odgovor Napisal/-a balasko »

Sem pa vseeno pristaš volonterstva. Če upa kdo makro napisat zastonj, potem ga prosim, da to tudi stori. Drugače pa hvala za odgovor.
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Ker sem ravno dobre volje (recimo) bom poskušal nekaj napisati. Preizkusite in poročajte.

Koda: Izberi vse

Private Sub Workbook_Open()
Dim celica As Range
Dim opozorilo As String
Dim i

For i = 1 To Application.Sheets.Count
    Application.Sheets(i).Select
    For Each celica In Range("C:C")
        If celica.Value = "" Then Exit For
        If Month(celica.Value) = Month(Date) Then opozorilo = opozorilo & vbNewLine & Range("B" & celica.Row).Value
    Next
Next
Application.Sheets(1).Select
MsgBox opozorilo
End Sub
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
Odgovori