- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- ricshard444: Fényképező ? Telefon helyett
- Lalikiraly: Astra kalandok @Harmadik rész
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- Yutani: Yutani Retró Hangkártyái: OAK Mozart Wavetable
- Meggyi001: Egy olcsó vállfás megoldás a pólóimnak...
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
azopi74
addikt
Ehhez RFC kell, meg jogosultság a function builder-hez, kétlem hogy lenne jelen esetben...
Amúgy meg ez eléggé elavult, és egyre kevésbé támogatott módszer.Sokkal kulturáltabb ez : Power BI Connectivity to SAP BusinessObjects BI
És sokan nem tudják, nem csak BW-re érhető el a Business Objects, hanem ERP-re (R/3-ra) is....
-
azopi74
addikt
válasz
Heno1974 #26395 üzenetére
Hát ez jó, vak vezet világtalant?
Akkor fordulj ahhoz, aki tényleg illetékes (ne az illetékes elvtárs key userhez, mert az általában azt se tudja, mi az az RFC, és hogy eszik-e vagy isszák - nem rosszindulatból mondom, hanem tapasztalatból)
Itt nézelődj RFC ügyben... RFCDES táblában mit látsz?
kezdünk amúgy nagyon elkanyarodni az excel témától
Ha meg a legkulturáltabb megoldás elérhető, mégpedig a SAP BusinessObject BI és Microsoft PowerBI kombó, arról egyszerűen meggyőződhetsz, ha látod az SAP kapcsolatot PowerQuery-ben, akkor műxik, ha nem, akkor nem
-
azopi74
addikt
válasz
Heno1974 #26393 üzenetére
Nem, az, hogy SAPGUI-n keresztül eléred az adott táblát, (van jogos SE16-hoz SE16N vagy SQVI tranzakciókhoz) nem jelenti azt, hogy közvetlen adatkapcsolattal is eléred.... Ezért kéne tudni, hogy mi van egyáltalán támogatva az adott SAP serveren, milyen jogosultágaid vannak (van e RFC, vagy BusinessObjects?) , stb.... Szerintem a SAP admioddal konzultálj első körben...
-
azopi74
addikt
válasz
Heno1974 #26391 üzenetére
Jól értem, nincs közvetlen kapcsolatod se a SAP-hoz, se a mögötte futó SQL serverhez, hanem a SAPGUI-t akarod scriptelni, hogy behívod az SE16N (vagy SE16) tranzakciót, behívod a táblát, és exportálod Excelbe?
Ha van RFC-vel közvetlen elérésed, akkor RFC_READ_TABLE-el tudsz adott táblát behívni.
Ha meg van SAP BusinessObjects BI , akkor PowerQuery-n keresztül simán eléred (a legegészségesebb módon).. -
Heno1974
csendes tag
válasz
azopi74 #26390 üzenetére
sap gui ba belépve elérem sap-ban
akkor el kellene érnem vba-ban is szerintem.
csak nem tom a bejelentkkezést megirni
adatbázis lekérdezésnél nem tom a szerver cimét.
ezt a neten böngésztem de nem igazán értem a :
Set oConnection = SapGuiApp.OpenConnection("110 PRD-P01 ECC", True)Dim SapGuiApp As Object
Dim oConnection As Object
Dim session As Object
Dim SAPCon As Object, SAPSesi As Object
Dim SAPGUIAuto As Object, SAPApp As Object
Dim sapConnection As ObjectIf SapGuiApp Is Nothing Then
Set SapGuiApp = CreateObject("Sapgui.ScriptingCtrl.1")
End If
If oConnection Is Nothing Then
Set oConnection = SapGuiApp.OpenConnection("110 PRD-P01 ECC", True)
End If
If SAPSesi Is Nothing Then
Set SAPSesi = oConnection.Children(0)
End IfsapConnection.Client = "720"
sapConnection.User = ""
apConnection.Password = ""
sapConnection.Language = "hu"If nsapConnection.Logon(1, True) = True Then
MsgBox "Nincs kapcsolat az SAP-val!" -
azopi74
addikt
-
-
azopi74
addikt
válasz
katka84 #26380 üzenetére
"A papír alapú nyilvántartás után még ez is nagy lépés lesz és tapasztalataim szerint az új dolgok láttán "bezárnak" az emberek és nem merek kockáztatni."
Inkább be is mondd tovább ...
Az Outlook különben minden Office licensznek szerves része, azzal nem nagyon lehet spórolni ...
"Nem is értem, hogy így Húsvét környékén miért nem leszel gép közelben."
Én sem értem, a feladat csábító ugyan, de a két-három napos semmittevés és pihi (amit nem nagyon tudok máskor megtenni) még csábítóbb
-
Fferi50
Topikgazda
válasz
Heno1974 #26378 üzenetére
Szia!
Esetleg megpróbálhatnád az excel adatkapcsolat varázslójával létrehozni a lekérdezést - makró rögzítéssel.
Aztán az eredményből vagy lehet tanulni, vagy nem.
Miután azt látom, hogy SAP objektumot hozol létre és azt szeretnéd programozni, akkor viszont szerintem az SAP oldal követelményeivel kell tisztában lenned és nem az excel oldallal.Üdv.
-
azopi74
addikt
válasz
Heno1974 #26378 üzenetére
-Szia, ez a kódsor több sebből vérzik, hol az "End Sub"? Ugye nem az "Exit Sub" statement-et akarod pótolni?
Az kb egy Sub-on, belül olyasmi, mint a "Return".
Van egy If-es blokkod, amit nem zártál le End If-fel,.. Telóról írok, így csak ennyi problémát látok első blikkre
RFC-vel akarod elérni az SAP servert (Remote Function Call)? Eléggé old-school módszer, és egyre kevésbé támogatott. Ott a PowerQuery és PowerPivot, azzal jobban jársz (SAP-hoz van nagyon f*sza PowerBI connector, BusinessObject persze kell server oldalon)
Egyébként, ha a fenti két hibát kijavítod ("Exit Sub" és "If" "End If" nélkül), pontosan milyen hibaüzit kapsz?
vasárnap, ha gépközelben leszek, ránézek a dologra... -
katka84
csendes tag
válasz
azopi74 #26379 üzenetére
Szia!
A kérdésedre a válasz igen.
Egyébként egyet értek veled, de a kész anyagot már nem én fogom használni és ezért ragaszkodnék az Excelhez. Talán ennek használatától nem idegenkednének annyira. A papír alapú nyilvántartás után még ez is nagy lépés lesz és tapasztalataim szerint az új dolgok láttán "bezárnak" az emberek és nem merek kockáztatni.
A másik probléma, hogy a szoftvereken spórolnak. (pl. Outlook sincs márés Excel sem érhető el mindenhol ahogy hallottam - még új vagyok ennél a cégnél
.
Biztosan "nagyon jók" ezek az "ingyenes" dolgok, csak én nem tudom használni pl. az új levelező rendszert.
Szóval ezek az érveim az Excel mellett.
Nem is értem, hogy így Húsvét környékén miért nem leszel gép közelben.
Pedig ez egy nagyon "csábító" feladat. -
azopi74
addikt
válasz
katka84 #26377 üzenetére
OK, most vasárnap estig nem nagyon vagyok gépközelben, de akkor majd adok egy lehetséges megoldást.
A 3. kérdésre adott választ akkor lehet úgy értelmezni, hogy az alaptáblába már a végleges, "ütközésektől" mentes adatok kerülnek, ugye ?Amúgy ez egy tipikusan olyan feladat, amit a lehető legegyszerűbben adatbázis-kezelőben, nem pedig táblázatkezelőben érdemes megoldani, de meg lehet oldani utóbbiban abban is, szeretjük a kihívásokat
-
Heno1974
csendes tag
sziasztok!
lekérdezést szeretnék csinálni sap-ból excelbe.
tudna valaki segiteni benne??
eddig jutottam, de nem enged be :Sub start()
Dim functionCtrl As Object
Dim sapConnection As Object
Dim theFunc As Object
Dim the_name As StringSet functionCtrl = CreateObject("SAP.Functions")
Set sapConnection = functionCtrl.Connection
sapConnection.Client = "002"
sapConnection.user = ""
sapConnection.Password = ""
sapConnection.Language = "HU"If sapConnection.logon(0, False) <> True Then
MsgBox "Nincs kapcsolat SAP-val!"
Exit Sub -
katka84
csendes tag
válasz
azopi74 #26376 üzenetére
Szia!
Válaszok:
1.Elviekben az összes apartmant lefoglalhatná. De, ez az üdülő a munkavállalók pihenését szolgálja, így főszezonban nem túl életszerű, h egy munkavállaló lefoglalja az egészet, míg mások nem jutnak lehetőséghez. Egyébként az eddigiek szerint max. 2 apartmant foglalt le egy munkavállaló. A probléma az, hogy a munkavállalónak és családjának kedvezményes üdülést biztosítunk. Amely azt eredményezheti, hogy pl. 1 apartmant biztosítunk kedvezményesen és a többit teljes árral, így ebben az esetben a jelentkező már közel sem biztos, hogy a munkavállaló lesz. (Új szabályozás készül erre és még vannak kérdéses pontok. Sajnos. Így pl. ez is.)
2. 12 apartman van, csak az egyik apartman "raktárként" funkcionál.
Köszönöm az észre vételt. Én is csak pár hete ismerkedtem meg a cégnél ezzel az üdülés témával.
És erre idő közben derült fény.
3. Őszintén szólva az Üdülési Bizottságnak van döntési jogköre, hogy párhuzamos jelentkezés esetén (ez inkább a főszezonban lehetséges) ki jogosult üdülni. Kritériumok: nagycsaládos, gyermekét egyedül neveli, mikor üdült itt utoljára a munkavállaló - az előző évek papír alapon lettek vezetve, úh mondhatni erről semmilyen infóm nincsen, munkaviszonya mikortól áll fenn, stb.)
Igazából a főszezonra való jelentkezésnél összegyűjtik a határidőig beérkezett pályázatokat és azt követően kerülnek elbírálásra, így a táblázatba már csak az kerül, ami "végleges". Kivéve, ha nem fizetik be a megadott határidőig az üdülési díjat, mert akkor törölni kell a munkavállaló jelentkezését. De erről infót csak a pénzügytől lehet szerezni.Röviden és tömören.
Egyébként köszönöm az érdeklődést a problémám iránt.Természetesen nagyon szeretek tanulni, úh a megoldásra nagyon kíváncsi vagyok, illetve a magyarázatra.
Kata
-
azopi74
addikt
válasz
katka84 #26373 üzenetére
Szia, először is pár kérdésem lenne:
1. Egy munkavállaló maximálisan hány apartmant foglalhat le?
Mert te 4 oszlopot allokáltál a képen látható template-en a lefoglalt apartmanoknak, de lehet ez több is?
Esetleg az összes apartmant lefoglalhatja egy munkavállaló?
Mert akkor bővíteni kell az oszlopok számát ennek megfelelően.
(Vagy másik megoldás, hogy egy szövegmezőt adsz meg (és akor elég egy oszlop), ahol például pontosvesszővel vannak elválasztva az apartmanszámok. Vagy akármilyen más elválasztóval, ez ízlés kérdése, csak az a fontos, hogy legyen fix ez az elválasztó jel... De inkább legyen annyi oszlop, ami az egy munkavállaló által maximálisan lefoglalható apartmanok száma.)2. Másik kérdés: Azt írod, 11 apartman van, mégis 1-12-t írsz az "Apartman száma" oszlopokban. Ez szándékos?
3. Harmadik kérdés: azt szeretnéd, ha "azon napon, amikor foglalt az a bizonyos számú apartman, akkor oda kiírja a jelentkező nevét!"
Mi van, ha több jelentkező is van ugyanazon a napon ugyanarra az apartmanra? Akkor kinek a nevét írja ki? Vagy ez eleve nem lehetséges, mert beállítasz egy validációt az adatbevitelnél, ami ezt megakadályozza? Tehát megfelelő, ha az első találatot írja ki? (mert több úgy sem lehetséges, ezt garantáltad adat bevitelkori validációval) ?Ha ezekre válaszolsz, adok egy működő megoldást
-
Delila_1
veterán
válasz
m.zmrzlina #26374 üzenetére
On Error Resume Next
Workbooks.Open Filename:="Elérési_út\FájlNeveKiterjesztéssel" -
m.zmrzlina
senior tag
Feladat a következő.
Le kell ellenőrizni, hogy egy adott munkafüzet meg van-e nyitva. Elérési útja a fájlnévvel együtt a makrót tartalmazó munkafüzetben egy cellában rendelkezésre áll.
Ha meg van nyitva akkor egyik munkalapját deklarálni kell mint objektumváltozót:
Set ws_Akármi = megnyitottmunkafüzet.Worksheets("akármi")
ha nincsen megnyitva akkor előbb megnyitni és utána deklarálni a változót.
Mi ennek a legrövidebb módja?
-
katka84
csendes tag
Sziasztok!
Az alábbi "problémára" keresem a megoldást:
Társaságunk rendelkezik céges üdülővel (11 apartmannal egész pontosan) és ezen üdülők nyilvántartásával kapcsolatosan készítettem egy adattáblát (táblázat1).
Azt szeretném, hogy a táblázat1 adatai szerint szeretném, ha táblázat2 adattáblában megjelennének a foglalások (napok és apartmanok szerint). Azaz azon napon, amikor foglalt az a bizonyos számú apartman, akkor oda kiírja a jelentkező nevét!Segítségeteket előre is köszönöm!
Kata
-
-
Sziasztok
Pici segítséget szeretnék kérni, adott egy táblázat, ahol a munkaidőt írják be és a kezdőből kivonja a végzést, így megkapjuk a ledolgozott órát.
Nekem viszont ebből még fél órát le kell vonatnom vele, de sehogy se szeretné elvégezni ezt: =H33-G33-0:30Valakinek van ötlete?
-
baderoli
tag
Sziasztok!
Van egy gombom a munkafüzetbe és szeretném azt, hogyha ráklikkelek akkor beírjon egy félkövér nagy X-et abba a cellába középre, amin épp állok.
Előre is köszönöm!
-
azopi74
addikt
válasz
tonermagus #26357 üzenetére
Ha pedig meg akarod óvni magadat a jövőben ilyesmitől, akkor Accessből "szabályos modon" importálj, vagyis
Adat->Külső adatok átvétele->Access-ből (és kiválasztod a táblát, view-t vagy query-t), amit importálni akarsz. Mert van egy olyan érzésem, hogy ez nem így történt, különben nem történt volna ilyen -
Fferi50
Topikgazda
válasz
tonermagus #26362 üzenetére
Szia!
A másolás - beillesztés értékként lépést kihagytam a segédoszlopra.
Bocsi.
Üdv.
-
tonermagus
aktív tag
válasz
tonermagus #26362 üzenetére
Időközben rájöttem
Az irányított beillesztés a barátom
Köszönöm szépen mindenkinek! Istenek vagytok!
-
Fferi50
Topikgazda
válasz
tonermagus #26357 üzenetére
Szia!
Szerintem két lépésben tudod megcsinálni. Az A oszlopban vannak az adataid, A1-től.
1. lépés:egy segédoszlopban végighúzod ezt a képletet: =helyette(A1;karakter(10);";")
Ezzel a "nem látható" sortöréseket átalakítod pontosvesszővé.
2.lépés:
kijelölöd a segédoszlopot. Adatok - szövegből oszlopok - tagolt - a tagoló pontosvessző, ezt kijelölöd. Beírod, hogy melyik cellánál kezdje a kiírást. Majd OK.Az eredeti oszlopod és a segédoszlopod is "eldobhatod" utána.
Ha az első lépésben nem cserél semmit, akkor meg kell nézned, hogy milyen karakter van a sortörés "helyén".
Ezt úgy tudod meg, ha egy cellában beírod =kód(közép(A1;2,1)), ha nem 0 van az A1 cellában az első sorban, akkor kiszámolod, hányadik karakter lehet a sortörés, azt a számot írod a 2 helyére.Üdv.
-
tonermagus
aktív tag
A szövegből oszlopokkal már próbálkoztam, viszont bármilyen tagolást is állítok be, csak az első nulláig lát, mint ahogy az a képen is látszik
Hol lehet vajon a gáz?
-
hhheni
tag
válasz
tonermagus #26357 üzenetére
ha továbbra is kell az eredeti oszlop, és követni is szeretnéd a változását, akkor a transzponálás nevű függvény kell tömbképletként
ha az eredetire nincs szükség, akkor irányított beillesztés / transzponálás -
tonermagus
aktív tag
Sziasztok!
Az alábbi problémába ütköztem: adva van egy Excel tábla, amiben gyakorlatilag csak egy oszlop van, viszont annak az oszlopnak minden sorában (mezőkben... Merthogy van vagy 1200 db ilyen mező
) több szám található egymás alatt (Access-ből lett kiimportálva) Ezeket szeretnék az adott mező mellé több oszlopba kiszedetni. (A képen csak egy sor látható)
Milyen képletet használjak?
-
Fferi50
Topikgazda
válasz
Delila_1 #26345 üzenetére
Szia!
Akkor valami "összeférhetetlenség" van az op.rendszer és az Excel között, nálam Win7 és Excel 10 van, mindkettő magyar és szépen megnyitja a dir függvény által visszaadott "Munkaidő nyilvántartó rendszer-új-2015.....xlsm" nevű fájlt is (a szóközzel és sok-sok ponttal közben.
Azt nem tudjuk, hogy nála milyen verziók vannak ezekből?
Üdv.
-
Fferi50
Topikgazda
Szia!
Bocsi, lehet, hogy nem követtem elég figyelmesen a témát. Hol van a makróban, hogy átnevezi a fájlt?
Mert én csak azt látom, hogy megnyitja a fájlokat, a sheets(1)-ben kicseréli amit kell, majd visszamenti a fájlt.Ennek nem lenne szabad problémát okozni - kivéve, ha angol az op rendszered, de akkor már az eredeti névben sem lehetne szerintem ékezetes betű - , hiszen csak mentés van és nem átnevezés.
Üdv.
-
Louro
őstag
válasz
Delila_1 #26338 üzenetére
Nem. Mivel egy 650 soros listáról van szó, így 5-10 soronként (csoportok miatt változó) felülírom önmagával, hogy folyamatosan csak keveset számoljon.
Minden mezőhöz csak 2x nyúlok. Egyszer beleírom a függvényt, majd utána felülírom az eredménnyel a tartalmát.
+1: F9-re se frissíti be. (Fura, hogy az elején többszöri alkalmazáskor meg simán működik.
-
Louro
őstag
Range(Cells(CD_IDX + 2 + i, POINTER_IDX), Cells(CD_IDX + 2 + i, POINTER_IDX + 7 + 30)).Formula = _
"=COUNTIFS([" & tComp& "]Comp!$D:$D,FKERES($B" & CD_IDX + 1 + i & ",Szótártábla!$A$25:$B$145,2,0), _
[" & tComp & "]Comp!$CL:$CL,AP$28,[" & tComp & "]Comp!$CM:$CM,AP$2)"Sziasztok!
Sajnos megakadtam ott, hogy van egy nagyobb makróhalmazom. Az elején tök jól frissülnek a számok, de most szúrtam ki, hogy a fenti kódot tartalmazó ciklus nem akarja befrissíteni az adatokat. Megállítva a makrót, meglestem és a függvénybe kattintva, majd Enter segítségével meg is jelenik a várt eredmény. Van esetleg ötlet, hogy mi történhetett vagy mit kellene bekapcsolni?
A makróhalmaz során sok a változó és igyekszek sűrűn a függvényeket a saját értékükkel felülírni, hogy ne tököljünk felesleges kalkulációkkal.
Röviden az lenne, hogy az egyenlőség egyik oldalán egy Range-ben megadom, hogy hol kalkuláljon és a másik oldalán lenne a feladat. Egy forrás egyik munkalapjáról bizonyos feltételek mentén összeszámolja a találatokat.
A makró elején több ilyen is van és azokkal nincs gond :S -
-
válasz
Fire/SOUL/CD #26329 üzenetére
Jelen esetben 1-1 nap nem számít
-
Delila_1
veterán
válasz
karlkani #26332 üzenetére
Ismered a fényképezőgép ikont?
Ennek a segítségével a képernyőn éppen nem látható, távoli cellát teheted állandóan láthatóvá, illetve olyan helyre vetíted ki, ahol éppen jársz. Területet is kijelölhetsz vele.
Mint látod, a képletet a képernyőn pillanatnyilag nem látható E41 cella tartalmazza, és a B oszlop első 12 értékét összegzi. Követi a változásokat.
-
Delila_1
veterán
Ilyenkor kell lekérdezni a kódját. Beírod az Ű-t egy cellába, és a KÓD függvénnyel hivatkozol erre a cellára.
=kód(a1)Értékként 219-et kapsz. A makróban a csere így módosul:
Cells.Replace What:="körte", Replacement:=Chr(219) & "valami", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=FalseFájlnévben nem érdemes ékezetes betűket alkalmazni.
-
válasz
KaiotEch #26327 üzenetére
Nem véletlenül kérdeztem ám...
A hónapok sajnos nem azonos napokból állnak, vannak ugye 31/30 naposak, meg a "fránya" február, ami 28 avagy épp szökőévben 29 napos.
Ha minden hónap 30 napos lenne, akkor Delila_1 megoldása hibátlan lenne, de így nem az, mert a 31 napos hónapok utolsó napját(pl 2015.01.31) nem jól fogja megjelölni.Röviden: a megfogalmazás nem mindegy, mert az 1 hónappal korábbi az nem egyenlő a 30 nappal ezelőtti megközelítéssel.
Természetesen, ha csak a megfogalmazásod nem volt egyértelmű és amúgy azt szeretted volna elérni, amire megfelelő megoldást kaptál, akkor minden OK.
-
válasz
Fire/SOUL/CD #26322 üzenetére
Szerintem nem.
MA: 2015.03.31
Ha a dátum 2015.02.29 az régebbi, mint 1 hónap, de a 2015.03.15 az 1 hónapon belül van.
(#26323) Delila_1: Köszönöm!
-
Oly
őstag
válasz
Delila_1 #26315 üzenetére
Akkor én valamit nagyon elszúrtam.
Az xlsm-ben cseréli, de a többiben nem:Private Sub CommandButton1_Click()
Dim utvonal As String, FN As String
Application.DisplayAlerts = False
utvonal = "Z:\tmp\csere\"
FN = Dir(utvonal & "*.xlsx")Do While FN <> ""
Workbooks.Open utvonal & FN
Sheets(1).Select
Cells.Replace What:="körte", Replacement:="banán", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
FN = Dir()
LoopApplication.DisplayAlerts = True
End SubMEGOLDVA!!!!
Ez volt a gond:
ActiveWorkbook.Sheets(1).Cells.Replace What:="szilva", Replacement:="ananász", LookAt:=xlPart, _
-
-
Üdv. Szeretnék segítséget kérni. Az lenne a cél, hogy feltételes formázással szeretném sárgára, pirosra, vagy zöldre festeni a cellákat. Vegye a mai dátumot alapul és ha az ott beírt érték korábbi, mint 1 hónap, akkor legyen zöld, ha régebbi, mint 1 hónap, akkor sárgázza, és ha régebbi, mint 2 hónap, akkor legyen piros. Köszönöm!
-
Delila_1
veterán
válasz
karlkani #26317 üzenetére
"Valamint olyan cella változását képes figyelni, melyet nem én módosítok, hanem néhány cella tartalmát összegzi, s, ha változás van, azt jelezze egy cellában nekem?"
Azokat a cellákat kell figyeltetned, amik az összegző cella értékét módosítják.
Például a B5:B20 tartomány összegzésénélIf Not Intersect(Target, [B5:B20]) Is Nothing Then
-
karlkani
aktív tag
válasz
azopi74 #26318 üzenetére
Oké, köszi.
Konkrét dátum kell egy cellába (hasonló, mint aminél segítettél). Az alapján szerintem össze tudom dobni. így legalább nem kell "makróbaráttá" alakítanom a füzetet.
Ha már szóba került a szombati dátumos téma, azóta, ha megnyitom a füzetet, megnézek valamit, majd bezárom, mindig rákérdez, hogy "mentem a változásokat?". A számolás minden megnyitás után lefut egy alkalommal (függetlenül, hogy nem módosítok semmit ott), azért kérdez rá?
-
azopi74
addikt
válasz
karlkani #26317 üzenetére
Ha bármilyen eseményvezérelt kód van a file-ban ( akár a thisworkbook-ben, akár valamelyik munklaphoz csatolva), és az lefut akkor automatikusan törli a VBA az undo cache-t, ez szándékos, és nem tudok róla, hogy ezt meg lehetne kerülni (ha belegondolsz, talán érthető, hogy miért ...)
"Valamint olyan cella változását képes figyelni, melyet nem én módosítok, hanem néhány cella tartalmát összegzi, s, ha változás van, azt jelezze egy cellában nekem?"
Na ez elég hirtelen témaváltás
Amit a kollégának írtam előbb, azt nem tudod alkalmazni? Csak itt nem pivotot kell frissíteni, hanem értesíteni valamilyen módon. (pl message box?)
-
karlkani
aktív tag
Adott egy munkalap, amely tartalmaz makrót. Bármely módosítás után ugye aktív a visszavonás (használata után a mégis) gomb. A makró lefutása után azonban inaktív lesz. Ezzel lehet kezdeni valamit? Valamint olyan cella változását képes figyelni, melyet nem én módosítok, hanem néhány cella tartalmát összegzi, s, ha változás van, azt jelezze egy cellában nekem?
-
azopi74
addikt
válasz
bsasa1 #26311 üzenetére
Az egy megoldás lehet, ha a forrás munkalaphoz hozzárendeled ezt:
Private Sub Worksheet_Calculate()
Sheets("Munka1").PivotTables("PivotTable1").RefreshTable
Sheets("Munka1").PivotTables("PivotTable2").RefreshTable
End SubAhol PivotTable1 és PivoTable2 a frissítendő pivotok.
Ennek persze feltétele, hogy olyan adat változzon, amivel van valami (akármilyen) kalkuláció az adott lapon, mert ekkor fut le a Worksheet_Calculate() (Pl beraksz valahova egy SZUM-ot az egész forrás range -re (ne aggódj, nem baj, ha nem csak számmezők vannak, attól még lefut a Calculate, ha a SUM függvény paraméterében szereplő range-ben akármi is változik)
Persze lehet általánosabb megoldás is, vigyelheted az egész munkalapot, csak az szerintem felesleges erőforrás pazarlás lenne.
Vagy ha rengeteg pivotod van, akkor csinálhatod úgy, hogy az összes Pivotok forrását figyeled ( .SourceData) property, de akkor a Workbook-hez kell hozzárendelned eseménykiszolgáló metódust. De ez eléggé overkill lenne szerintem.
De miért nem használsz inkább függvényeket Pivot helyett ?
Tudom, kicsit talán melósabb megcsinálni, mint összedobni pikk-pakk egy pivotot, de az viszont VBA kód nélkül is folyamatosan frissül, ha változik a forrás -
Delila_1
veterán
Az a füzet, mivel makrót tartalmaz, xlsm kiterjesztésű, annak az egynek nyitva kell lennie, hiszen abból indítod a makrót. A többi xlsx kiterjesztésű, azokat nyitja meg sorban.
A többi első lapján kicseréli a szövegeket, most már kipróbáltam. Lehet, hogy nem az első lapon kel csere-berélni?
-
bsasa1
csendes tag
Sziasztok!
Az lenne a kérdésem, hogyan tudom megcsinálni azt, hogyha egy pivot tábla alaptáblázatában bármit frissítek, módosítok, akkor az arra épülő kimutatások automatikusan lefrissüljenek a munkafüzetben?
Láttam, hogy vannak ilyen nevű worksheet eventek, de nekem sajnos csak nagyon körülményesen sikerült megoldanom a dolgot. Előre is köszi,BS
-
Delila_1
veterán
Próba nélkül!
Sub Csere()
Dim utvonal As String, FN As String
Application.DisplayAlerts = False
utvonal = "F:\Eadat\" '*****
FN = Dir(utvonal & "*.xlsx")
Do While FN <> ""
Workbooks.Open utvonal & FN
Sheets(1).Select '*****
Cells.Replace What:="régi szöveg", Replacement:="új szöveg", LookAt:=xlPart, _ '*****
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.Save
ActiveWindow.Close
FN = Dir()
Loop
Application.DisplayAlerts = True
End SubA makró az utvonal változóban megadott mappából sorban megnyitja az ott lévő, *.xlsx kiterjesztésű füzetet.
A Sheets(1).Select sor ráállítja a füzetben lévő első lapra.
A cserét az ezután következő, 3 soros utasítás végzi el, majd a megnyitott füzetet menti és bezárja.Három helyre tettem csillagokat, ahol az útvonalat, a megnyitott füzet első lapját, és a "mit cseréljen mire" szövegeket kell megváltoztatnod.
A makrót léptetve próbáld ki 2 füzeten – VB szerkesztőben F8-cal léptetve, majd leállítva. Ha megfelel, a makró elejére beszúrhatsz egy sort, ami leállítja a képernyőfrissítést, ezzel gyorsítva a futást.
Application.ScreenUpdating = False
A makró végén ezt vissza kell állítani.
Application.ScreenUpdating = True
-
Oly
őstag
Sziasztok
Adott több száz excel munkafüzet egy folderben.
Az lenne a feladat, hogy mindegyikben egy adott szöveget másra cseréljünk ki.
Sajnost nem mindben ugyanott van az a szövegű cella. Van ahol az A20, van ahol az A24, vagy más.
Jól gondolom, hogy lehet ezt makrózni is?Köszi előre is.
Üdv, oly -
Delila_1
veterán
válasz
jkoczor #26306 üzenetére
Az Adatok | Kapcsolatok | Hivatkozások menüben a Váltás gomb engedi kitallózni az új mappát, és fájlnevet. Ez módosítja a füzetben lévő, előző helyre és fájlra történt hivatkozásokat.
Szerk.:
Közben kipróbáltam. Tettem be egy hivatkozást másik füzetből. Mindkét füzetet bezártam, a 2. füzetet áttettem más mappába. A hivatkozást tartalmazót megnyitottam. Azonnal dobott egy ablakot, ahol módosíthattam a csatolást. -
jkoczor
csendes tag
válasz
Delila_1 #26305 üzenetére
Köszi!
A csere sajnos nem játszik, mert ez esetben minden új projektnél cserélni kell. (Bár ha nincs egyéb megoldás, akkor még mindig ez a legegyszerűbb
1. Átfogalmazom a kérdést. Tudok-e fkeres függvény esetén egy másik könyvtárban található fájlra mutató abszolút hivatkozást létrehozni.
Ha bárhova másolom a táblázatomat - amiben a képlet van - mindig az eredeti táblázatra hivatkozzon.
Mintha az elérési út elé tennék egy $-et.
És természetesen, ha változik a hivatkozott táblázat, akkor frissüljenek az adatok a fkeres-es táblázatban is.2. A csatolások módosítása funkciót nem ismerem még. Ez tudja azt amit az 1. pontban leírtam?
Vagy az automatikus frissítést tudom vele kikapcsolni.Kicsit még káosz van a fejemben...
Ja és Excel 2007. Köszi!
-
jkoczor
csendes tag
Sziasztok!
Excel Fkeres függvénnyel kapcsolatban lenne kérdésem. (Gúgli a barátom, csak nem tudom, hogyan tegyem fel neki a kérdést..
Szóval adott két táblázat ugyanabban a könyvtárban:'
G:\Általános adatok\Kalkuláció_minta.xls. és
'G:\Általános adatok\Árlista_2015.xls
A Kalkuláció_minta.xls táblázatban van egy fkeres függvény, mely az árlista.xls táblázat Árlista_2015 munkalapján keres.
'G:\Általános adatok\[Árlista_2015.xls]Árlista'!$A$1:$X$200
Ez idáig OK.
Ha viszont a kalkuláció_minta.xls-t átmásolom egy másik könyvtárba, és átnevezem,
'G:\Projekt\Kalkuláció_projekt.xls
akkor az fkeres függvény már a
'G:\Projekt\Árlista_2015.xls táblázatban keresne (ha a függvény beállításait ellenőrzöm.)
Ilyen táblázatom nincs is.
Az adatok pedig megegyeznek az Általános adatok könyvtárban lévő Árlista_2015 táblázat adataival.
Kérdésem, hogyan tudom megoldani, hogy a Projekt_kalkuláció fkeres függvénye az Általános adatok könyvtár Árlista_2015 táblázatában keressen.
Köszi a válaszokat! -
azopi74
addikt
Rengeteg oka lehet, hogy nem működik egy ilyen. Van rengeteg olyan funkció, ami soha nem is fog működni, ha nincs nyitva a forrásfile (pl egy sima SZUMHA). De sok más probléma is lehet (verzió, jogosultság, egyéb beállítások, nem érdemes nyomozgatni) Ezért általánosan elmondható, hogy kerülendő ennek az ilyen módon való használata, mert vagy működik, vagy nem , ezt sokkal biztosabban és egyszerűbben meg lehet oldani: húzd be a cél munkafüzetbe a forrás munkafüzetek megfelelő lapjait (vagy csak a téged érdeklő oszlopokat) (Adat, külső adatok átvétele) Beállíthatod, hogy autonatikusan frissüljön megnyitáskor (de manuálisan is ráfrissíthetsz, vagy akár percenkénti frissíttést is beállíthatsz) Így már az Excel összes funkciója és függvénye működni fog, minden esetben.
-
psg5
veterán
Sziasztok!
Nem jutok előre:
Mi az alap ha szeretnék egy összesítő excelt ami másik kettőből sima szummával kinyeri az adatokat, de szeretném ha úgy is kinyerje, hogy a két forrás excel csukva van az összesítő excel frissítésekor?
Mire kell figyelni, mi lehet a hiba ha csak akkor frissít ha nyitva vannak a forrásexcelek? -
azopi74
addikt
válasz
azopi74 #26300 üzenetére
Ha máshogy akarod (vagyis ez már az este 8-tól reggel 8-ig tartó időszak már a következő nap legyen, akkor írd át ilyenre:
=INT(Events[@Dátum]+1/3)Vagyis így:
=INT(Events[@Dátum]+1/6)
Mivel este 8 után már csak 4 óra van a napból...
óra átállításkor viszont így is gond lehet, mert úgy látom, azt nem veszi figyelembe az excel az időmanipulációknál, pl nézd meg, mit csinál az excel, ha hozzáadsz 2015.03.29 11:01 PM -hez egy órát
Persze minden megoldható, és jelen esetben működőképes marad a dolog, de más esetben azért vigyázni kell az ilyenekkel
Új hozzászólás Aktív témák
- iPad topik
- 3D nyomtatás
- Autós topik látogatók beszélgetős, offolós topikja
- E-roller topik
- Milyen billentyűzetet vegyek?
- Medence topik
- Hobby rádiós topik
- A fociról könnyedén, egy baráti társaságban
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- SSD kibeszélő
- További aktív témák...
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asus Maximus VIII Hero i7 6700K 16GB DDR4 512GB SSD RX 5700 XT 8GB Zalman i3 NEO 700W
- AKCIÓ! HP Elitedesk 800 G1 USDT mini asztali számítógép - i7 4770S 16GB RAM 128GB SSD Intel HD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest