-
Fototrend
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
-
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?
[ Szerkesztve ]
-
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
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?
-
Fferi50
őstag
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
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
őstag
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.
-
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 -
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!
[ Szerkesztve ]
-
erkxt
tag
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?
-
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
[ Szerkesztve ]
-
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?
-
Delila_1
Topikgazda
válasz m.zmrzlina #26374 üzenetére
On Error Resume Next
Workbooks.Open Filename:="Elérési_út\FájlNeveKiterjesztéssel"Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
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
-
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
[ Szerkesztve ]
-
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 -
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
-
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 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...[ Szerkesztve ]
-
Fferi50
őstag
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 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
-
katka84
csendes tag
-
azopi74
addikt
-
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
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)..[ Szerkesztve ]
-
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...
[ Szerkesztve ]
-
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
[ Szerkesztve ]
-
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....
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest