Kezdőlap › Fórumok › Excel témák › Excel határidőnapló értesítéssel
- This topic has 5 hozzászólás, 4 résztvevő, and was last updated 6 years telt el by delila.
-
SzerzőBejegyzés
-
2016-12-15-14:33 #3261
Sziasztok!
Egy olyan kérdésem lenne, hogy több száz 4-5 év lejáratú határidőt kell figyelemmel követnem, illetve kezelnem (kitörölni belőle ha már nem aktuális, újabbakat hozzáírni), ami az Excel programban a legkönnyebb és leggyorsabb. Lehetséges egy olyan megoldás, hogy egy ilyen táblázatban szereplő határidőket a lejáratuk előtt jelezzen az Excel vagy esetleg egy kiegészítő programja?
Köszönöm a segítséget.
Üdv:
WeasleyRat2016-12-15-21:45 #3262Szia!
Mégis hogy gondolod a jelzést?
Színezze be a lejárathoz közeli dátumokat? Vagy az egész sort?Küldjön email-t?
Alert ablakban sorolja fel őket?
Csilingeljen? 🙂Külön oszlopban vannak a lejárati dátumok?
Imre
2016-12-16-14:58 #3263Szia Imre!
A legszuperebb az e-mail lenne, ha ez megoldható. Csináltam egy táblázatot, hogy miről is lenne szó.
Üdv:
WeasleyRatAttachments:
You must be logged in to view attached files.2016-12-16-16:08 #3265Nyilván a feltételes formázás a legegyszerűbb.
Azokat a sorokat, ahol a „Jelzés a lejáratról” oszlopban kisebb vagy egyenlő dátum van, mint a mai nap, beszínezi.Az email küldéshez sokkal összetettebb dolgot kell csinálni:
Makrót kell írni, ami az előzőekben leírt feltételt megvizsgálja soronként, és ha teljesül küldd egy emailt (kinek is?)
Az illetőnek, vagy neked?
Problémák ezzel:
1. makrót kell írni, emiatt makrós lesz a fájl. Ez még megoldható, hogy a makró és az adat ne egy munkafüzetben legyen.
2. Figyelni kell, hogy kinek küldtünk már emailt, hogy ne küldözgessünk naponta figyelmeztetést. Erre be lehet vezetni egy külön oszlopot, amit a makró tölt ki.
3. Mivel küldjük az email-t? Össze kell lőni az Excel VBA-t és a használt levelező klienst
– Outlook? (Ez OK, ha van beállítva és működik, azaz tudsz Outlook-kal levelet küldeni) a többi már nem lesz olyan egyszerű
– gmail?
– egyéb?4. Mi az email szövege? Ez is nyilván változó, legalább a lejárat dátuma változik
Szóval a makrós email-es megoldás jóval összetettebb.
Ha viszont a feltételes formázásos dolog vége mindenképpen az lenne, hogy a megjelöltekre szűrsz és kézzel email-t írogatsz nekik, akkor érdemes makró irányba elmenni.
Ezek persze még hátra vannak, hogy elment-e a levél, megkapta-e a címzett, elég-e egyszer értesíteni, stb…
Ez más síkú problémaHa egyáltalán nincs makró ismereted, akkor ez nem lesz könnyű út.
Válassz!
2018-10-31-15:00 #5211Kedves Imre!
Hasonló problémám van, mint, amit kolléga fentebb említett.
Próbáltam VB-ben írni macrot hozzá, de sajna üres érteket ad vissza. Próbáltam „szabály létrehozást” csinálni, de nem színezi be kívánt cellákat, sorok. (Lehet, hogy rosszul használom, nem kizárt ez sem).Globálban létrehoztam egy workbook_open() esményre egy call popupuzenet funkciót, ami a Munka1 munkafüzeten meghívja a kövi macrot:
Sub popupuzenet()Dim sorszam As Integer
Dim a As Integer
Dim uzi As Stringuzi = „A következő számlák jártak le: ” & vbCrLf & vbCrLf
sorszám = ThisWorkbook.Worksheets(„Munka1”).Range(„B” & Rows.Count).End(xlUp).RowFor a = 5 To sorszam
If ThisWorkbook.Worksheets(„Munka1”).Range(„B” & a) – Date <= 0 Then
uzi = uzi & ThisWorkbook.Worksheets(„Munka1”).Range(„C” & a).Value & ” ”
End If
Next a
MsgBox uziEnd Sub
A táblázat adatstruktúrája: Lerjárt(dátum cellák alatta), Cégnév(szöveg cellák alatta), összeg (szám cellák alatta).
Nekem megfelel az, ha az irodai mail címünkre küldene egy értesítést, ami egy gyűjtő email, így mindenki megkapja, aki illetéket. (Sajna, ezt a részét már nem tudom integrálni a macroba, hogy email-t is küldjön). Outlook van a gépeken, céges domainű email címekkel. Hatalmas segítség lenne, ha a kiküldendő mailben (mint ahogy a kódban is) a Cég neve szerepelne, dátum a mail-ben nem fontos (szerintem). Max annyival módosíthatnám, hogy Today() helyett mondjuk 7 nappal korábbi dátumokat figyeljen a kód. (tudom, ha egy másik oszlopban megcsinálom a =Lejárt(cella)-7, akkor figyelheti a macro azt az oszlopot is.
Remélem, tudnál segítene ebben a kis projectben. Nagyban megkönnyítené a mindennapjaimat az irodában és más feladatokra fordíthatnám a felszabadult időt.
Köszönöm előre is a válaszodat.
2018-10-31-15:52 #5212Az alsó sort a B oszlopban kerested, de a dátumok a makró szerint a C-ben vannak. Lehet, hogy ezért nem kapsz eredményt.
Kicsit módosítva (C-re)
Sub popupuzenet() Dim sorszam As Integer Dim a As Integer Dim uzi As String With Worksheets("Munka1") sorszam = .Range("C" & Rows.Count).End(xlUp).Row For a = 5 To sorszam If .Range("C" & a) < Date + 7 Then uzi = uzi & .Range("C" & a) & vbLf End If Next a End With MsgBox uzi, , "Lejárt számlák" End Sub
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.