Hirdetés
- Magga: PLEX: multimédia az egész lakásban
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Te hány éves vagy?
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
-
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
-
Hali!
Látom ulrik19 kolléga megelőzött, de ha már én is megírtam, akkor be is rakom.
Ez Microsoft ActiveX Data Objects 6.0 Library bővítménnyel és adatkapcsolattal, valamint mysql connector ODBC bővítménnyel megtámogatva van elkészítve. Természetesen kifogástalanul működik. Egy excel_mysql nevű adatbázis, test nevű tábláján megy végig és írja ki sorban a mezőket.Private Sub CommandButton1_Click()
Dim FSCD_SQLConnection As ADODB.Connection
Dim FSCD_Recordset As ADODB.Recordset
Dim FSCD_SQLConnectionString As String
Dim FSCD_SQLCommand As String
Dim FSCD_MYSQL_Table As String
On Error GoTo FSCD_ErrorHandler
FSCD_MYSQL_Table = "test"
FSCD_SQLConnectionString = "Provider=MSDASQL.1;Persist Security Info=True;" & _
"User ID=root;Extended Properties='';DSN=Excel_MySQL_Tutorial;" & _
"UID=root;SERVER=127.0.0.1;DATABASE=excel_mysql;PORT=3306;'';" & _
"Initial Catalog=excel_mysql;Initial Catalog=excel_mysql"
Set FSCD_SQLConnection = New ADODB.Connection
FSCD_SQLConnection.ConnectionString = FSCD_SQLConnectionString
FSCD_SQLConnection.Open
FSCD_SQLCommand = "SELECT * FROM " & FSCD_MYSQL_Table
Set FSCD_Recordset = New ADODB.Recordset
FSCD_Recordset.Open FSCD_SQLCommand, FSCD_SQLConnection
FSCD_Recordset.MoveFirst
While Not FSCD_Recordset.EOF
MsgBox FSCD_Recordset.Fields("mező1").Value
MsgBox FSCD_Recordset.Fields("mező2").Value
FSCD_Recordset.MoveNext
Wend
FSCD_Recordset.Close
FSCD_SQLConnection.Close
Exit Sub
FSCD_ErrorHandler:
MsgBox "Error:" & Err.Description, vbCritical, "Fire/SOUL/CD"
End SubFire.
-
válasz
Delila_1
#5910
üzenetére
Hali!
Nem használok 2003-at, a 2007 megjelenése pillanatától...

Csak érdekelt volna, hogy van-e ilyen lehetőség a 2007-ben, mert még nem találkoztam vele.(igaz, nem is kerestem)
2003-al dolgoztam persze, de teljesen elfelejtettem a menürendszerét, a 2007 új felépítéséből adódóan. Sajnos nem lehet párhuzamot vonni a kettő közt, pl testreszabás menü...
Fire.
-
-
-
válasz
Delila_1
#5902
üzenetére
Hali!
Sajnos ez nem megoldható, kicsit elgondolkodtam és rá is eszméltem.
Hiába készítenél egy saját ikokollekciós feltételes formázást, nem lenne hordozható a munkafüzet, azaz egy másik gépen/excelen nem jelennének meg a saját ikonok, hisz az excel tábla ezt nem menti(magát az ikonok képadatait) csak az indexüket. Szóval ez nem nyert. Olvastam a 2010-esről de nem utal rás semmi, hogy változna a helyzet...
Fire.
-
válasz
Fire/SOUL/CD
#5899
üzenetére
Szóval a lemeradt link: [link]
Fire.
-
válasz
Delila_1
#5898
üzenetére
Hali!
Először nekem sem volt szimpatikus a Office 2007 csomag, mivel a jól megszokott menürendszert lecsérélték, de aztán jobban megismerve, nagyon is logikus az, csak szokni kell.
Az adatsávokkal nagyon egyszerű dolgozni, lehet variálni tetszés szerint a színeket: [link]
Az ikonok az más tészta, eddig még nem fordult meg a fejemben, hogy saját ikonok legyenek a "gyári"-ak helyett/mellett, de megint egy remek ötletet/fejtörőt adtál, utánanézek, aztán ha jutok valamire, akkor írok...
Fire.
UI: Hát ez nem tartott sokáig, elméletileg nem lehet saját ikont használni, de addig is egy kis olvasni való, főleg a VB kód lehet érdekes számodra, ott egy kis betekintést nyújtanak a használatukhoz. persze nem adom fel, mert ha megtalálom, hogy melyik fájlban tárolják az ikonokat, akkor azt ki is tudom bányászni ill. módosítani és esetleg új ikonokat hozzáadni anélkül, hogy az excel reklamálna. Jó ötletet adtál...
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
válasz
Delila_1
#5895
üzenetére
Hali!
Nézd, ha valóban sok munkafüzetről van szó, akkor egyértelmű adatkapcsolato(ka)t létrehozni, mert valóban az az ésszerű megoldás. Viszont ha személy szerint nekem lenne az a feladatom, hogy 2db munkafüzetet kell kezelni biztosan nem foglalkoznék a kapcsolatokkal. Ez ilyen "szakmai ártalom" vagy hasonló.
Mivel (többek közt) adatbázis-kezelőket írok, adatbázist tervezek/építek ezért nem használom ezt a fajta külső munkafüzetes megoldást, mert egy összetettebb adatbázis esetén(25-30 tábla) egyszerűen követhetetlen lenne. Az excel-t "csak" mint megjelenítő eszközt használom, ami a pl hálón megosztott adatbázist jeleníti meg. Az adatbázis-kezelő szoftver végez el minden olyan műveletet, amely által létrehozott eredménytáblák adatait átvéve az excel a user felé "érthetővé" áttekinthetővé stb stb teszi...Szóval sokszor a fentiekből adódóan másképp közelítek egy adott "problémához", és egész másképp oldok meg dolgokat, mint ahogy azt a "szakkönyvekben" le vagyon írva...
Van amikor jó, de van amikor rossz, mert néha túl bonyolultan közelítem meg a dolgot, holott van rá roppant egyszerű(a "szakkönyvben" is szereplő) megoldás.
De ez már így marad. nem aggódom, mert itt vagy Te(és még páran) akik remekül le tudják adott esetben egyszerűsíteni a "képleteimet"...

Fire.
UI: Azt az excel képet úgy gugliztam, az épp nem saját volt...

(csak olyat tudtam volna belinkelni, amiben személyes adatok vannak, az meg azért nem tűnt jó ötletnek)
-
-
válasz
Delila_1
#5891
üzenetére
Hali!
Persze, az csatolás, hisz fizikailag nem a "forrás" munkafüzetben vannak az adatok, hanem egy másik/külső/hálózati stb stb állományban. De ehhez nincs szükség adatkapcsolatra, mert nem erre találták ki elsődlegesen, hogy excel munkafüzeteket "kapcsolgass"(persze lehet, csak ebben az esetben nincs értelme, mert szükségtelen), hanem arra, hogy a legkülönbözőbb formátumú állományokkal/adatbázisokkal tudjon együttműködni az excel.
Fire.
-
-
-
Boldog Új Évet Kívánok minden kedves topic-lakónak!

Fire.
-
Hali!
Őrület, miket variál ez a hölgyemény...

(most már csak az lenne az igazi, ha csinálnál egy Form-ot is, tartományok->combo-ba, hány részre kell osztani->combo-ba stb stb, aztán a Form-ról átvenné a makród a paramétereket...
)Fire.
-
Hali!
Ja értem. Arra gondoltam, hogy abszolút meg sem nyílik. Igen, van bent hibajavító, de csodákra az sem képes. Azon esetleg gondolkozz el, hogy mi az ami változhatott. Angol excel volt, most magyar vagy a területi beállítások, vagy valami egyénileg telepített betűkészletet használtatok a régi gépen, ami most nincs telepítve, stb stb.
Fire.
-
-
Hali!
Sajnos a Pascal vagy C/CPP-ban megszokott Continue utasítás itt nem létezik, helyette a Goto utasítást kell bevetni.
(az Exit For/Exit Do egyenértékű a Break Pascal vagy C/CPP utasítással, az Exit For kilép a For ciklusból, míg az Exit Do, a Do-Loop ciklust szakítja meg.)Példaprogi
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
j = 0
For i = 1 To ThisWorkbook.Worksheets.Count
If ThisWorkbook.Worksheets(i).Name = "Munka5" Then GoTo label001
j = j + 1
label001:
Next
MsgBox (j)
End SubFire.
-
válasz
Delila_1
#5764
üzenetére
Hali!
Igen lehet, hogy erősnek tűnik a dolog, de Én ehhez vagyok szokva, sokszor még megismerkedni sem volt időm munkatársakkal, mert pár nap alatt repültek. Hiába dolgozott más programozási területen x éve, ahhoz a melóhoz nem értett, mást meg nem tudtak adni neki....
Hát ha én szabnék Neked egy kosztümöt, azt megnézném, hogy áll rajtad...

(kár, hogy nem vagyok Mekk Elek, mert akkor csak levernék az egyik logóm
)Fire.
-
Hali!
1. Az, hogy megpróbálod a munkatársak számára a legegyszerűbben kezelhetővé tenni, az dicséretes.
2. Nem tettem korra kitételt a válaszomban, egyszerűen aki képtelen minimális energiát befektetni, hogy fejlődjön, vagy 5szöri elmagyarázás után sem képes egy primitív feladatot elvégezni, annak semmi keresnivalója Excel előtt, függetlenül hány éves...
Ember nélkül nincs számítógép, jó szakember nélkül meg több bosszúságot okoz, mint örömöt..Szép a hobbid, de gondolom neked is lenne mással eltölteni az időd, mint megírni egy összetett makrót.3. Nos, mivel írtad, hogy CSV-be kapod alapból, ezért nem igazán értem, mit kellene átnevezni...Ezenkívül az sem világos, hogy miért nem nyílik mag a tagolás automatikusan, hisz pont az a gond, hogy a területi beállítások nem egyeznek meg, a CSV-ben található tagoló karakterekkel(többek közt)...
Valóban félreérthető voltam, hogy "megnyitni", arra értettem, amit írtál, azaz adatok importálása, ott meg KELL hogy nyíljon. Véleményem szerint, ez még mindig egyszerűbb, mint egy összetett makró, amiben fájlkezelésről/feldolgozásról formátumok kinyeréséről, stb stb kell gondoskodni, mindezeket persze hibakezeléssel felügyelve...4. Igen, az alap adatformázás az a területi beállítások leánykori neve...

Nem azt írtam, hogy a területi beállításoknak nincs köze a számformátumokhoz, hanem arra gondoltam, hogy a CSV-nek bármi köze lenne hozzá. Ha nem módosíthatod(jogok) miatt a területi beállítást, akkor azt makróval sem fogod egyszerűen megoldani.
A CSV NEM TÁROL FORMÁTUMOT! pl ezer forint, az így lehet letárolva a CSV-ben
1000
1,000
1,000 Ft
1 000
1 000 Ft
Az első változat kivételével az összes többi SZÖVEG, ergo át kell majd alakítanod számmá, ha számolni is szeretnél még vele a későbbiekben, DE simán nem fogod tudni átalakítani, mert a területi beállítások egyből formázzák is számként avagy pénznemként, DE ÚGY ahogy a területi beállításokban szerepel. Ezt a makróval csak úgy kerülheted ki, hogy EGYÉNI cellaformázást alkalmazol pl
#,###,### Ft (ezt csak hasra ütésre írtam, semmi értelme amúgy)
Tehát még egy dolog, amiről a makrónak gondoskodnia kell, arról már nem is beszélve, hogy az email-ből is automatikusan kiszedi a csatolmányt a megadott címről stb stb.
Ezért tartanám egyszerűbb megoldásnak, ha mindezt az alkalmazottaknak is megtanítanád(tudom, tovább tart mint egy gombra kattintás), de legalább fejlődnének és később már ilyen dolgokkal nem kellene foglalkozni.Kézenfekvő megoldás lenne elsőre, hogy a rendszergazdának szólni, hogy hát állítsa be "normálisan" a területi beállításokat, csak Én meg tudom, hogy az nem véletlen, nagyon valószínű, hogy valamilyen adatbázis kezelő, vagy "sima" adatbázis miatt van így belőve, ezért ha átállítaná "Excel kompatibilisre", akkor meg ott lenne gond...
5. A makró természetesen megírható, ez nem is kérdés, de nagy odafigyelést és kellő alapot igényel, nem egy ilyen 10 soros cuccról van/lesz szó, univerzálisnak és megfelelő hibakezeléssel ellátottnak kell lennie.
(pl fel kell ismerni a tagoló karaktert, majd a számformátumot (1000 vagy 1,000 stb), hány számjegy, az szám vagy pénznem stb stb)Természetesen a Te döntésed lesz mit választasz, ha a makrót, akkor sok sikert!
(ha meg a tanítást, akkor sok türelmet a "nebulókhoz)
Fire.
UI: Delila_1 biztosan segíteni fog, hacsak nem már estére berakja Neked a komplett makrót(ahogy ismerem)

-
HAli!
Magam részéről nem foglalkoznék semmilyen makróval, mert szükségtelen, másrészt meg a Vezérlőpultnak ehhez semmi köze. Amikor Excel-lel megnyitsz egy CSV fájlt, akkor automatikusan végigvezet a tagolás menetén, kiválasztható egyszerűen, hogy mi a tagoló karakter(vagy meg is adható egyedi ha szükséges).
Ha valaki ezt nem tudja elsajátítani(nem tudod elmagyarázni neki), akkor add a kezébe a munkakönyvét, mert ezt általánosban tanítják.
Fire.
UI: makróhoz csak akkor nyúlj, ha nincs más megoldás, ugyanis egy csomó biztonsági problémát vet fel, hisz akkor azt is be kell állítanod, hogy kérdés nélkül lefusson a makró, ezáltal nem lesz vizsgálva a tevékenysége és még jó pár negatív dolog, amit nem részleteznék...
-
-
válasz
Delila_1
#5729
üzenetére
Hali!
A hiba az Ön készülékében van, mint ahogy van vízszintes görgetősáv is MINDEN programkódnál, úgy NINCS 1 sorban az egész makró. Javasolni tudnám egy másik böngésző használatát, esetleg a meglévő frissítését, végső esetben a format c: alkalmazását.

Fire.
UI: Tényleg nem bosszantani akarlak, de valami nem OK a masináddal...
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
-
-
-
válasz
Narancs
#5656
üzenetére
Hali!
Egy kis kép jó lett volna, hogy hol vannak és milyen adatok. Amúgy a feladat nem azt mondja, hogy KIZÁRÓLAG az ÉS függvényt használhatod...
![;]](//cdn.rios.hu/dl/s/v1.gif)
tehát 50% ALATT (<50) vagy TÖBB MINT 3 pont nem elért
(<=3) esetén kell az ID. (Az ÉS csak akkor igaz, ha az összes feltétel igaz(jelen estben 2 darab feltétel van)Fire.
-
Hali!
Igen, a vbacv10.dll és vbacv10d.dll kellett gondolom. (addig nem akartam javasolni, hátha a vizsgálat talált volna valamit)
Ez az ablak csak arról tájékoztat, hogy mostantól hogy fog működni a makró írás/szerkesztés(régi verziókban más volt, a szöveg elég egyértelmű). Az viszoint kérdéses lehet, hogy valóban látni fogsz-e mindent a kódból rendesen. Remélhetőleg igen.
Ha nem, akkor ez a megoldás van amiről tudok: [link]
Sok sikert.
Fire.
-
-
Hali!
Mivel makró után érdeklődsz ezért feltételezem, hogy azt nem kell elmagyarázni Neked, hogy hogy kell bevinni egy makró kódot.
Amint látod, az alábbi makró egy CommandButton-hoz tartozik.Private Sub CommandButton1_Click()
'A hálózati Excel fájl útvonala és neve
Dim MyNetworkExcelFilename As String
MyNetworkExcelFilename = "d:\_developer\_PH\Fire\mizu_\halozati_fajl\leltar.xls "
'MyNetworkExcelFilename = "http://www.firelapja.hu//leltar.xls"
'Ennek az Excel fájlnak a neve, ami futtatja a makrót
Dim MyCurrentExcelFilename
MyCurrentExcelFilename = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - InStr(1, ThisWorkbook.Name, ".", vbTextCompare) + 1)
'Forrás munkafüzet
Dim MySourceWorkbook As Workbook
'Forrás munkalap neve, amiből másolunk. Ezen a munkalapon vannak a kimutatás adatai
Dim MySourceSheet As String
MySourceSheet = "Munka1"
'Cél munkalap neve, amibe másolunk. Automatikusan létrehozza a makró ezt a munkalapot
Dim MyDestinationSheet As String
MyDestinationSheet = "Adatok"
'Megnyitjuk az állományt
Set MySourceWorkbook = Workbooks.Open(Filename:=MyNetworkExcelFilename)
'Átmásoljuk a kívánt munkalap tartalmát, a másikba, mégpedig úgy,
'hogy egy új munkalapot hozunk létre a munkafüzet végén
Sheets(MySourceSheet).Copy after:=Workbooks(MyCurrentExcelFilename).Sheets(Workbooks(MyCurrentExcelFilename).Sheets.Count)
'Bezárjuk a hálózatról megnyitott Excel fájl, méghozzá úgy, hogy nem jelenik meg
'semmilyen kérdés bezáráskor(például a módosítások mentése)
MySourceWorkbook.Close False
'Az előbbiekben létrehozott munkalapot átnevezzük a kívánt névre, amit korábban megadtunk(itt most "Adatok"ra)
ActiveSheet.Name = MyDestinationSheet
End SubA példában nem internetről nyitottam meg fájlt, de természetesen ott van a forrásban is az elérés formátuma("http://www.firelapja.hu//leltar.xls") és természetesen működik is. (Persze ez nem létező oldal)
Ha valami nem lenne tiszta, akkor írj.
Fire.
-
válasz
Zolee11
#5634
üzenetére
Hali!
"Természetesen képletet nem akarok ráhúzni (legalábbis ne képlet legyen a cellában, ha nem muszáj), és új cellákat se akarok létrehozni, hanem ezekben a cellákban lecserélni, mínusz számmá, amit fel is ismer és képetekben használhatom a számot ill. pénznemet."
Ha gondot okoz, akkor leírom ezt is, szóval az előző HSZ-omnál maradva, csináld végig, majd ezután tedd ezt:
1. B oszlop kijelöl(katt a B oszlopazonosítón), jobb egér, Másolás
2. A oszlop kijelöl, jobb egér, Irányított beillesztés, ÉRTÉKET bejelöl, OK
3. Újra jobb katt az A oszlopon, Cellaformázás, Pénznem, OK
4. B oszlop kijelöl, jobb egér, TörlésFire.
-
válasz
Zolee11
#5634
üzenetére
Hali!
A példa kedvéért az A oszlopban vannak az adatok A1-től kezdődően, akkor B1 cellába másold be az alábbi kódot, majd másold le a szükséges tartományba.
Ez a módszer automatikusan számformátummá konvertálja az értékeket, függetlenül, hogy az előtte szám avagy szöveg formátumú volt-e.=HA(JOBB(A1;1)="-";("-"&BAL(A1;HOSSZ(A1)-1))*1;A1*1)
Természetesen ez csak akkor működik hibamentesen, ha a negatív értékek "negatív jelre" végződnek ill. csak 1 darab negatív jel található a cellában.
Fire.
-
Hali!
Bocs, csak nagyon rossz valamiért a netem, a forráskódot már nem tudtam beilleszteni...
Munkafüzet1
Private Sub CheckBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If ActiveSheet.DrawingObjects("Téglalap feliratnak 1").Visible = False Then
ActiveSheet.DrawingObjects("Téglalap feliratnak 1").Visible = True
Call Timer_ON
End If
End SubModule1
Public Idozites As Double
Sub Timer_ON()
Idozites = Now + TimeSerial(0, 0, 5)
Application.OnTime Idozites, "Tooltip_OFF", , True
End Sub
Sub Tooltip_OFF()
ActiveSheet.DrawingObjects("Téglalap feliratnak 1").Visible = False
End SubFire.
-
Hali!
Egy checkbox, meg egy tooltip: [Screen]
Szükséges kód a képen: [VBA Macro]DrawingObjects("VALAMI"): itt adod meg az objektum nevét
dozites = Now + TimeSerial(0, 0, 5): itt pedig, hogy hány másodpercig legyen látható(jelen esetben 5 másodperc múlva fog eltűnni a tooltip)Fire.
-
Hali!
1. hozz létre egy digitális tanúsítványt
START/Microsoft Office/Microsoft Office eszközök/Digitális tanúsítvány VBA projektekhez
2. add hozzá a VBA project-hez
ALT+F11/Tools/Digital Signatures/Kiválasztás (a korábban létrehozottat kiválaszt) OK
3. Adatvédelmi központban (itt már jártál párszor)
Összes makró letiltása, a digitálisan aláírtak kivételével
4. makróbarát dokumentumként kell menteni természtesenEnnyi. Ez természetesen csak egyszerűbb védelem, ha neten megosztott, bizalmas adatokat tartalmazó, stb, stb dokumentumokhoz, megfelelő jogkörrel bíró cégnél kell/lehet igényelni, digitális azonosítót. Arra viszont jó, hogy csak azok nyíljanak meg és futtassanak automatikusan makrót, amely dokumentumnak ismered a készítőjét például.
Fire.
-
válasz
Vasinger!
#5591
üzenetére
Hali!
Tehát nem számként, hanem szövegként vannak a cellába, hisz ha szám lenne, akkor 27,0 28,0 stb lenne.
Szóval egyszerűen(már ha jól értelmeztem)
1. kijelölöd az egész tartományt(korábban írtam hogyan kell)
2. kezdőlap/Keresés és kijelölés/Csere...
3. Íg beállítod: [link], majd katt az Összes cseréje gombon.Fire.
-
válasz
Fire/SOUL/CD
#5589
üzenetére
Hali!
A nagy eszemmel "rájöttem", hogy ugyanezzel a módszerrel törölhetőek az üres sorok is...

Szóval mivel a képed alapján az látszik, hogy csak azért van gond, mert minden 2. sorod üres(ott nincsenek a cellában adatok), ezért a megoldás az üres sorok törlése is lehet.
Az előző HSZ-om 1.-3. pontját csináld meg, csak ezután a Kezdőlap/Törlés/Sorok törlése a munkalapról lehetőséget használd
Sebaj, legalább most elsajátítottad azt is, hogy hogy lehet az összes üres cellát nullával(vagy bármilyen más értékkel) feltölteni...

Fire.
-
válasz
Vasinger!
#5588
üzenetére
Hali!
Két lehetőség van alapjában véve, mivel az a gondod, hogy üres cellával nem képes bizonyos függvény dolgozni.(vagy töröljük, vagy 0(nulla) értéket adunk neki)
1. minden üres sort törölni kell, ehhez makró kell(vagy kézzel, de az eltarthat egy darabig)
2. Az üres cellákat kijelöljük és 0(nulla) értéket írunk az összesbe, most ez utóbbit írom le, elég egyszerű.1. jelöd ki a telejes adattartományt(A1 cellán katt, majd CTRL+SHIFT+END
2. kezdőlap/keresés és kijelölés/Ugrás
3. Irányított... gombon katt, Üres cellák kijelöl, OK
4. (most kijelölődtek az üres cellák) írj 1 darab 0-át(nullát) majd CTRL+ENTERBár ez egyszerű megoldás, de elég csúnya lsz a táblázat a sok nullával..

Fire.
-
válasz
Vasinger!
#5586
üzenetére
Hali!
A 2. problémáddal kezdem.
1. Töröld ki az 1. sort(ahol most a fejlécek vannak)
2. A oszlop kijelöl
3. Adatok/Szövegből oszlopok
4. Tagolt, tovább
5. határolójelek, csak a szóköz elé pipa, tovább
6. rendeltetési hely $B$1 (vagy katt a szélén a tartomány kijelöléséhez, ezután katt az egérrel a B1 cellán ENTER)
7. Befejezés
8. A felesleges oszlopokat törlödAz 1 problémádnál az nem gond, hogy minden második sor törölve lenne, vagy ezt szeretnéd épp elkerülni, mert így jobban elkülönülnek az adatok?
Fire.
-
válasz
Fire/SOUL/CD
#5584
üzenetére
Bocsesz, csak így visszaolvasva félreérthetően fogalmaztam, szóval:
Ha 2002-es az Excel, akkor telepíteni kell az SP3-at ÉS elvégezni a Registry módosítást, míg 2003-as Excel esetében CSAK a Registry módosítás szükséges.
(SP3 telepítésekor nincs szükség a gyorsjavító csomagra sem, mivel az SP3 tartalmazza)Fire.
-
Hali!
Nem véletlenül kérdeztem, hogy változott-e az Office(ezáltal az Excel) verziója, ugyanis ez a hiba ismert ez esetben. Elég összetett a dolog és sokat kellett volna adott esetben feleslegesen írnom, úgy hogy ehelyett inkább belinkelem a megoldást: [link]
Röviden összefoglalva: Ha 2002-es verzió, akkor szedd le a hozzávaló SP3-at és telepítsd, ha 2003-as, akkor pedig marad a Registry-s megoldás.
Azért majd írj, hogy mire jutottál.
Fire.
-
-
-
válasz
OT_mail
#5573
üzenetére
Hali!
1. állj a B2 cellára, Feltételes formázás/Szabályok kezelése
2. Új szabály
3. Itt a képlet helyére írd be az itt jól látszó feltételt: [link]
4. ismételd, ahányszor szükséges a 2-3. pontot
5. a B2 cellát hagyományos módon másold le Bakármeddig...
Fire.
-
válasz
Delila_1
#5567
üzenetére
Hali!
1. Igen, az űrlap vezérlő jó megoldás, de csak abban az esetben, ha mizu_-nak valóban nincs szüksége a nullás index-re és nem csak "hasra ütésre" írta ezt:
"Pl.: piros, zöld, kék legördülő értékekhez 0,1,2 tartozzon."
Ha kell a 0. index, akkor ActiveX ComboBox, meg egy 1 soros makró2. Miért, hogy lehet még kijelölni oszlopot úgy, hogy nem az oszlopazonosítóra kattintasz? Áruld el lécci, lécci, lécci...

Reac^
Az OS és az Office verzió is ugyanaz maradt az újra telepítést követően?
(pl XP-ről nem álltál át W7-re ill. Office 2000-ről 2007-re)Fire.
-
-
Hali!
Hozzáadni? Ott nincs mit "hozzáadni". Ha Mindent-en van akkor másol mindent(beleértve az oszlopszélességet is), ha meg Oszlopszélességet-re állítod, akkor CSAK az oszlopszélesség lesz másolva.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Elméletileg a sima másol/beilleszt módszerrel is át kellene másolódni a szélességnek is, az hogy ez sonar esetében miért nem működik, azt meg passzolom...
Fire.
-
-
-
válasz
kraftxld
#5532
üzenetére
Hali!
Konkrétan beállítási lehetőségről nem tudok, csak egy megoldás, amit én is gyakran használok, nevezetesen, hogy meg kell jeleníteni a vágólapot.
Egyszerűen csak add hozzá a Vágólap/Clipboard parancsikont a gyorselérésű eszköztárhoz, és már látható is lesz a vágólap tartalma, ahonnan akárhányszor beilleszthető egy vagy több adat is. [link]Fire.
-
válasz
Fire/SOUL/CD
#5487
üzenetére
Hali!
Hüleséget írtam, bocsesz, jó az a kód, csak Én szűrtem nem jó oszlopot..

Fire.
-
válasz
Delila_1
#5485
üzenetére
Hali!
Bocs, de már nem tudtam szerkeszteni a HSZ-t(épp gond volt(megint) a PH-val) , a lényeg meg lemaradt...
Mr. Nagy nem ezt kérte, hanem hogy az értékhez tartozó nevet(a B oszlopból) másolja máshova(had gonoszkodjam Veled egy kicsit)
Bár ez legyen házi feladat Mr. Nagy számára, hogy mi az az 1
érték amit meg kell változtatni, hogy "jól" működjön...Fire.
-
-
válasz
Delila_1
#5481
üzenetére
Hali!
Ha A és B oszlopban vannak az adatok, és van fejléc, akkor azt is tudod, hogy A2 és B2-től kezdődnek az adatok.
Nem kell semmilyen kritérium, egyszerűen csak végig kell menni a szűrt tartományon(ha több elem is megfelelt a szűrésnek, pl több Kovács István is van)
A kezdő pontját tudod(A2 vagy B2, a szűrt lista hossza lekérhető, egyszerűen csak egy ciklussal végig kell szaladni, a LÁTHATÓ cellákon és átrakni valahova.Fire.
-
Hali!
Mr. Nagy feladata elég egyértelmű, amit korábban írtam, szerintem az is...De sebaj, akkor kérdésekkel válaszolok.
"Én változáskor az autofilterből..."
Mi változik? Milyen esemény(Event) fut le, amikor valaki lenyitja az autofiltert, kijelöl egy vagy több elemet, majd leokézza?
(mert hogy a Worksheet_Change esemény biztosan nem fut le például)Fire.
UI: az irányított szürés meg kizárja az autofilter-t mellesleg...

-
válasz
SAxchivava
#5476
üzenetére
Hali!
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = "" Then
Munka1.Tab.ColorIndex = xlColorIndexNone
Else
Munka1.Tab.Color = vbGreen
End If
End SubFire.
-
válasz
Delila_1
#5473
üzenetére
Hali!
Egyszerű is, csak valószínűleg Te is abba a "hibába" estél, mint Én is néha, nevezetesen ha bonyolultabb dolgokat ír az ember, akkor hajlamos bonyolultan is megközelíteni a problémákat, holott a megoldás lényegesen egyszerűbb...

Feltételezem, az volt az alapvető probléma, hogy az Autofilter "szűrés" eseményét nem lehet elcsípni, azaz amikor végbe megy a szűrés, akkor nincs milyen event-hez társítani a makrót...
Nos, ha nincs esemény, akkor CSINÁLJUNK...
Egyszerűen csak rakj valahova pl C1-be(most azt vettem, hogy A és B oszlopban vannak az adatok) egy DARAB2 függvényt például, amit a szűrt tartományra állítod.(lehet DARAB, DARABTELI, bármi, csak az a lényeg, hogy SZÁMOLJON)Ugye már nyilvánvaló, hogy most már lesz olyan esemény, ami a szűréskor végbemegy, nevezetesen a Calculate... Innentől kezdve meg azt hiszem nem jelenthet problémát a szűrt tartományon végigmenni és azt máshova átmásolni...

Fire.
-
-
-
válasz
SAxchivava
#5453
üzenetére
Hali!
Vagy ezt
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = "" Then
Munka1.Tab.Color = RGB(0, 255, 0)
Else
Munka1.Tab.Color = RGB(255, 0, 0)
End If
End SubFire.
-
válasz
Fehér Mancs
#5322
üzenetére
Hali!
Igen, igazad van, én megszokásból szedem ketté ha kell ha nem, mert nagyon ritka, amikor csak egy feltételt használok(meg jobb felkészíteni a fiatalságot az élet(Excel) nehéz dolgaira).

Az meg, hogy, hogy néz ki, az csak egy dolog, ha az lett volna a feladat, hogy ahol üres, azt adja össze, akkor is "furcsa" lenne a kinézete
=SZUMHA(A1:A10;"";B1:B10)
Fire.
-
válasz
DeFranco
#5320
üzenetére
Hali!
a SZUMHA úgy működik hogy:
1. lenullázza a BELSŐ VÁLTOZÓját, amiben az eredményt képzi(user ezt nem láthatja)
2. veszi az ÖSSZEG_TARTOMÁNY első celláját(esetünkben B1)
3. a KRITÉRIUM-nak megfelelően(esetünkben "<>" & "", azaz ha nem üres) elvégzi a logikai műveletet a TARTOMÁNY első celláján(esetünkben A1)
4. Ha a logikai művelet IGAZ eredménnyel tér vissza, akkor a BELSŐ VÁLTOZÓHOZ hozzáadja A1 értékét, HAMIS logikai érték esetén nem adódik hozzá semmi
5. a 2-3-4. pontban leírt műveletet ismétli, amíg el nem ér az ÖSSZEG TARTOMÁNY utolsó cellájáig(esetünkben B10-ig), vizsgálva a B2-A2, B3-A3.......B10-A10 cellapárost...Fire.
UI: remélem ha például statisztikai függvényeket kezdesz használni, ott nem kell leírni, a működést ilyen részletességgel, mert az megtölti a topic-ot, és ahhoz sem lesz nagy kedvem, hogy matematikai tételeket linkelgessek be....

-
válasz
DeFranco
#5318
üzenetére
Hali!
Oksa...
Ezek a számítási operátorok témakörébe tartoznak, amit az Excel súgó is tartalmaz, használd...
Addig itt egy link a témakörben: [link]
(ez 2003-as éppen, de e tekintetben nincs különbség az egyes excel változatok közt)Fire.
UI: a ="" azt jelenti bármely függvény kritériumában(feltételében), hogy az adott cella üres
És valóban ÉN írtam hüleséget előbb, mivel azok nem aposztrófok, hanem idézőjelek(2darab, nem 4 darab aposztróf)
-
válasz
DeFranco
#5316
üzenetére
Hali!
=SZUMHA(A1:A10;"<>" & "";B1:B10)
Ugye itt a problémádat az okozta, hogy a SZUMHA függvény KRITÉRIUMába, azt kellett volna beírni, hogy "<>""". Aposztrófon belüli aposztróf eset forog fent, amit így az Excel nem tud értelmezni.
Ezért kell "kettészelni" a KRITÉRIUMot két szöveggé és azt az & operátorral összefűzni.Fire.
-
Hali!
Igen, roppant egyszerűen, simán csak megnyitod az XML-t(Excel-ből) és választasz az "arcodba figyelő" ablak lehetőségei közül(3 van)

Részletesebben
(Amúgy ez Excel 2007-ben is így van, csak menürendszer miatt, máshol találja meg az ember)Fire.
-
-
válasz
kamikaze boci
#4974
üzenetére
Hali!
Korábban írtad, hogy 1 hete foglalkozol VB-vel. Nos, ha ennyire gyorsan sajátítasz el dolgokat, akkor javaslok egy dolgot.
Tessék az ACCESS berkeiben elmerülni, és az adatbáziskezelést VB-vel megtanulni.
Az ilyen feladatok alapszinten jók, de az igazán "profi" megoldás az az, hogy Access-ben kezelem az adatbázist, és annak segítségével állítok elő Excel táblát, vagy egyszerűen az Excel "külső adatok átvétele" segítségével...
Ráadásul így a user csak a végeredményt látja, nem kell még azzal is foglalkoznia, hogy engedélyezze a makrókat, stb(és még sok más is rejtve marad a user elött, amire tényleg semmi szüksége semm lenne). Szóval sokkal elegánsabb, jobb, profibb megoldáa az Access. Ott is létrehozhatsz grafikus felületet(form, button, dbcomponents, stb) amivel beviszed az adatokat, felügyeled, módósítod, törlöd, stb. Aztán egy sima lekérdezéssel akár, kész az eredménytábla, amit 3 kattintással beimportál az Excel...
Ezt jótanácsnak szántam, remélem élsz vele...
Fire.
-
válasz
student
#4967
üzenetére
Hali!
Remélem ezt a kérdést már nem értelmezem félre, és nem hülesgeket írok neked...

A példa kedvéért A1-ben van az 1000, A2-ben a 1251...
Ha az kell, hogy az 1251 hány %-os növekedés az 1000-hez képest, akkor
A3-ba =1-A1/A2Az eredmény cellá(ka)t formázd százalékra ill adj neki legalább két tizedesjegyet(már ha fontos).
Fire.
UI: mostanában olyan szétszórt vagyok, mint a pétisó...

-
válasz
Fehér Mancs
#4958
üzenetére
Hali!
Igen, tökéletesen igazad van.
Egy pillanatnyi "elmezavar" volt, amit most ráfoghatok a 39,5 fokos lázacskámra, meg az izzó agyacskámra, meg torkocskámra....
Éreztem, hogy valami nem oké, de akkor nem igazán dolgozott a szürkeállományom.De legalább jó tudni, hogy Delila_1 ill személyedben van kontroll....

Kösz a helyreigazítást!
Fire.
-
Hali!
Szinte teljesen "helyesen" írtad le hogy mit kell tenni...De akkor leírom lépésről-lépésre.
1. A1 cellába =4589/2205
2. Most azt az eredményt kapod, amit írtál is (2.081179138)
3. Jobb egér gomb az A1 cellán, a felbukkanó menüben CELLAFORMÁZÁS
4. A megjelenő ablak SZÁM fülén, a KATEGÓRIA csoportból válaszd az EGYÉNI lehetőséget
5. Jobb oldalon a FORMÁTUMKÓD felirat alatti szerkesztősorba írd be óó:pp:mm
6. Okézd le, és már meg is kaptad az eredményt(igaz nem annyi amennyit írtál), hanem 01:56:54Fire.
UI: persze nem csak egy cellát jelölhetsz ki, hanem egész oszlopot, sort, stb, majd ezután a kijelölésen jobb egér gomb, a többi lépés ugyanaz...
-
válasz
Fehér Mancs
#4947
üzenetére
Hali!
Igen, ha balkezes vagy, ha nem akkor inkább a jobb gomb lesz....
![;]](//cdn.rios.hu/dl/s/v1.gif)
Fire.
-
válasz
VANESSZA1
#4929
üzenetére
Hali!
Igen, megoldható. A legegyszerűbb ha elsőként Access-ben elkészíted a lekérdezést, és adsz neki valami egyértelmű nevet pl Vanessa_Osszesites.
Ezután Excelben
1. ADATOK/KÜLSŐ ADATOK IMPORTÁLÁS/ADATOK BEOLVASÁSA
2. kiválasztod az adatbázist
3. ezután meg fog jelenni egy ablak amiben látnod kell a saját lekérdezésedet, kiválasztod, ok
(útólag is készíthetsz excel-ben lekérdezést persze)
4. itt még lesz egy ablak, amin beállíthatod, hogy melyik cellától kezdve helyezze el az adatokat, ill itt a gomb is amivel lekérdezést írhatsz(persze ha korábban access-ben megtetted akkor nincs rá szükség)Elméletileg ennyi lenne.
Fire.
UI: a példa kép az eredeti 2003 NorthWind adatbázisról készült, annak Order Qry lekérdezéséről...
-
-
-
válasz
[HUN]Tyson
#4891
üzenetére
Hali!
A makrót majd pillanatok alatt elkészíti Delila_1 vagy FehérMancs....

(vagy valaki más...
)Nem tudom hányas verziót használsz(2007, 2003, vagy korábbi)
A 2007-ben egy cellában 32k karakter fér el illetve ennyit is tud megjeleníteni.
A 2003-ban egy cellában 32k karakter fér el de csak 1024-et jelenít meg. (Ha jól emlékszem)
(a még korábbiakban(2000 elöttiek) meg azt hiszem, hogy csak 255 karakter fért el)
Fire.
-
válasz
Speeedfire
#4881
üzenetére
Hali!
PNG-be mindenképp így: [link]
Nekem most 2007-es van, ott így is lehet(nem emlékszem, de lehet hogy 2003-ban is műxik)
A mentés másként-nél megjelenő ablakon van az ESZKÖZÖK gomb, azon belül WEBES BEÁLLÍTÁSOK itt lehet állítgatni, ahogy láthatod isFire.
-
Hali!
Tegyél be egy képet a munkafüzetről, amin látszik minden(vagy legalábbis a lényeg), ha el tudok rajt igazodni, akkor tudok segíteni, csak így visszaolvasva azt sem tudom ki-kivel van...
(Delila_1 is látom segít rendesen, csak mindig valami "apróságról" megfeledkezel, aztán az egész kódot lehet megint módosítani vagy újrairni...
)Fire.
-
Hali!
A leírásod alapján elképzelhető, hogy vírus garázdálkodik a gépeden, ez tipikus és több(sok) vírus eljátsza, hogy 0-ra állítja a fájlhosszt XLS esetén is. Nem feltétlenül makróvírusra kell gondolni, vannak direkt az XLS-re "szakosodott" kártevők is.
Rögtön ess neki online scannereknek, nézesd át többel is a géped, és véletlenül sem mentsd el a látszólag ép excel táblákat sehova, mert csak mégnagyobb bajt okozhatsz(adott esetben) mint ami esetleg van.(magyarul másik gépen nehogy megnyissa valaki, mert akkor még az azon lévő táblák is el fognak tünögetni)Azt, hogy vissza-e lehet állítnai, azt nem tudom. Az első a vírusírtás(ha van), majd a HDD hibaellenőrzése. Erre azért van szükség, mert ha csak 0-ra állította a fájlhoszt, akkor a lemezellenőrzés egyszerűen vissza tudja állítani a helyes fájlméretet(szerencsés esetben).
Ha ennél nagyobb a gond, akkor meg a "milyen program, ami..." topicba írjál, ott majd javaslok olyan progit, ami az utolsó esélyed lehet...
Fire.
-
válasz
kraftxld
#4794
üzenetére
Hali!
Kösz a választ, én is rengeteget kutakodtam, szerintem sem lehet...
Csak az zavar az egészbe, hogy egy nagy erőforrás-zabáló alkalmazás az Office 2007, ami egyáltalán nem baj, mert van mögötte tartalom is.
De egy ilyen apró dolgon, mint ez a max 31 karakteres munkalapnév, nem igazán kellene spórolni....
Na majd megkérdem MS barátunkat, hogy mi is a helyzet...
Mégegyszer kösz a "megerősítést"...

Fire.
-
válasz
Szten Márs
#4787
üzenetére
-
válasz
Szten Márs
#4787
üzenetére
Hali!
Nem írtad hányas Office-hoz kell a segítség, ez a 2007 Excel-ben segít...
1. indítsd el az Excel-t
2. Kattints az Excel gombon(bal felső sarok)
3. Kattintsd "az Excel beállításai" feliratú gombon
4. Aztán meg navigálj el ide, a többi a képen...
(így talán könnyebb, ha látod, mint ha csak leírnám csak...)Fire.
-
válasz
Delila_1
#4773
üzenetére
Hali!
2. kérdésem: Oks, akkor majd olvasgatok(vagy inkább egy másik gépen amin 2003 fut, ott készítem el a dolgom)
1. kérdésem: Bocsesz, ha rosszul fogalmaztam, de nem erre irányult a kérdés hanem erre:

Szal , max 31 karakter lehet a neve(alapban). Ezt lehet valahogy nagyobbra állítani?
Fire.
UI: Anno a 2003-as Excel esetében is feltettem ezt a kérdést a MS-nek, akkor azt írták vissza, hogy a 2003-ben nem lehet állítani, de az újabb verziókban majd (esetleg) megoldják.....Most olybá tünik, hogy "esetleg" nem oldották meg...
Ha meg igen, akkor jól eldugták, vagy csak én nézek a fogammal... -
Hali!
Két "elborult" kérdésem lenne...

1. Lehet állítani valahogy, hogy a worksheet neve nagyobb legyen mint 31?
2. Ha 2007 Excelbem "Makró-barát munkafüzetként" mentek, akkor az 2003 Excelben is menni fog?Fire.
-
válasz
Euzkadi
#4765
üzenetére
Hali!
Hagyományos cellaformázással én sem tudom, hogy lehetne megoldani.
Azonban itt egy "szörnyedvény" ami alkalmazható és segíthet...A1-ben: 12-34 vagy akármi
B1-be meg ezt a képletet, amit aztán másolhatsz is kedvedre(bár ritka randa)
=ÖSSZEFŰZ(FIX(BAL(A1;SZÖVEG.KERES("-";A1)-1);2);"-";FIX(JOBB(A1;SZÖVEG.KERES("-";A1)-1);2))
Fire.
-
válasz
Happy187
#4690
üzenetére
Hali!
Esetleg lerajzolnád, hogy mit is szeretnél?(sajna így elsőre nem értem)
Egyenes mehet át origón, egy érintőegyenes is mehet át origón, de ezt a grafikonhoz origón átmenő érintő esetében tényleg nem tudom mire gondolhatsz...Talán nem tudsz koordinátarendszerben ábrázolni egyenest, vagy adott egy akármilyen típusú grafikon, és MACRÓ-val húzzunk bele egy egyenest....?
Segíts, hogy segíthessünk...

Fire.
-
Hali!
Igazából a 4. paraméter Excel2003 ill. 2007 alatt "felesleges", mert az alapbeállítás(default), az TRUE. Ezt csak azért írtam oda, ha esetleg 2000 vagy 2002 officet használ valaki. A szerepe annyi, hogy ezzel a paraméterrel lehet engedélyezni ill letiltani az OnTime metódust.
Be lehet úgy is állítani, hogy egy megadott időpontba mentsen.
Application.OnTime TimeValue("13:00:00"), "SaveThisWorkBook",,TRUE
(Ebben az esetben ha a gép megállás nélkül menne egy hétig, akkor minden nap 13 órakor elmentené a excel táblát(persze ha újra értéket adsz neki))Fire.
-
Hali!
Remek kérdést tettél fel, csak attól félek, hogy a válaszommal lehet hogy nagyon összezavarlak, és még több kérdés merül fel benned....
Az OnTime az egy viszonylag egyszerű TASK, vagy "egyszerűbben" egy megszakítás(interrupt). Ez mindig fut("mindig működik"), csak a felhasználó ebből mit sem lát. Addig a pillanatig "láthatattlan", amíg valaki "fel nem programozza", azaz be nem állít a neki megfelelő paramétereket. 4 paramétere van, az első kettő ami esetünkben a lényeg(a többit most nem részletezem)
1. paraméter: MIKOR kell meghívni
2. paraméter MIT kell meghívni(subroutine SUB)Tehát a válasz a kérdésedre az, hogy valóban meghívódik újra és újra a SAVETHISWORKBOOK subroutine, de NEM ÖNREKURZIÓ által(azaz nem a függvény hívja meg saját magát), hanem egy tőle független TASK(Application.OnTime)
Hát remélem, nem zavartalak nagyon össze...

Fire.
-
-
-
Hali!
A SZUMHA függvényt nem egészen erre találták ki. Ha valakinek van rá megoldása, azt én is kiváncsian várom.
A Te esetedben egyszerűb lenne két egymásba ágyazott HA függvényt használni, pl így:=HA(Q1=D1;HA(P1=F1;SZUM(A1:A20);0);0)
(persze hogy melyik cellába rakod és milyen tartományt adjon össze a SZUM, azt már Te tudod)
Fire.
-
válasz
concret_hp
#4511
üzenetére
-
Hali!
Na most azért visszaolvastam. Tehát, az lenne a feladat, hogy egy tartományban összeszámold az adott színű cellákat és ezt minél gyorsabban kellene megoldani?
Ha igen, akkor érdemes lenne esetleg hagyományos ciklussal(CELLS(I,J)) próbálkozni, nem pedig IN tartománnyal, lehet hogy előbbi még gyorsabb lenne.(ki kell próbálni)
A kérdésedre pedig:
Set Tartomany = ActiveSheet.UsedRangeFire.
UI: Elnézést, ha félreértettem. Ha igen, akkor írd le Nekem, hogy mi is lenne a próblémó, amit meg kell oldani, szívesen segítek.(ha tudok)
-
válasz
Delila_1
#4287
üzenetére
Hali!
Nem olvastam vissza, de ez az "értékes tartomány" alatt, arra gondolsz, hogy pl van A1-be valami, meg C10-be valami, és ezt a tartományt kellene kijelölni?
Csak nem Neked kell megkeresni az első meg az utolsó használt cellát? Ha erre gondolsz akkor egyszerűen így: UsedRange.Select
Fire.
UI: Bocsi, ha félreértettem, ja és a bizalmat meg köszönöm!

-
válasz
FragMaster
#4254
üzenetére
Hali!
Először is BÚÉK mindenkinek!
Nos megnéztem a feladatsort, nem olyan bonyolult mint amilyennek elsőre tűnik, ne aggódj.
Bár néhány esetben az ilyen sorokkal, hogy
"A függvényt hívja meg parancsmakróból is" nem igazán tudok mit kezdeni, mert nem tudom, hogy milyen eseményhez vagy objektumhoz stb kötödjön!!??
Megköszönném, hogy ha leírnád, hogy itt mire is kellene gondolni...
Addig ezenkívül itt az első feladat, remélem minden érthető lesz benne.

Function GÁZ(xnum)
If Not IsEmpty(xnum) Then
If IsNumeric(xnum) And xnum > 0 Then
Select Case xnum
Case 1 To 3000
GÁZ = xnum * 100
Case 3001 To 4000
GÁZ = xnum * 120
Case 4001 To 5000
GÁZ = xnum * 140
Case Else
GÁZ = xnum * 150
End Select
Else: GÁZ = "Csak szám lehet!"
End If
Else: GÁZ = "Nem lehet üres!"
End If
End FunctionFire.
-
válasz
mimi_bacsi
#4199
üzenetére
Hali!
Ez az #ÉRTÉK dolog zavar, ugyanis nálam tökéletesen működik. Tehát üres lesz a cella, ha a feltétel hamis...., azaz nem szabadna #ÉRTÉK-nek lenni ott, kivéve ha az F1 cella üres.
Gondolom nem kézzel írtad be a képletet...
Ha igen, akkor ellenőrizd le még egyszer, hogy egyezik-e az általam küldöttel, bár szerencsésebb lenne a CLIPBOARD műveletek használata.Bocsi, nem kioktatásnak szántam, csak másra hirtelen nem tudok gondolni, mint hogy esetleg el van írva a képlet. 2007-es meg 2003-as Excel közt meg ilyen szempontból nincs különbség.(legalábbis Én nem tudok róla)
Remélhetőleg Delila_1 is feltűnik
és valamit tud hozzászólni a problémához.Fire.
UI: Ha ezt a "hibát" sikerül orvosolni, akkor már a "60-job+ball" dolog is megoldható...
-
válasz
mimi_bacsi
#4197
üzenetére
Hali!
F oszlopban vannak az adatok, F oszlop kijelöl, jobbegér, cellaformázás, szöveggé.
(egyébként a 11/11 esetén november 11. lesz a cellába)A1
=HA(KÖZÉP(F1;SZÖVEG.KERES("/";F1)+1;20)*1<30;KÖZÉP(F1;SZÖVEG.KERES("/";F1)+1;20)*1;"")
A2
=HA(BAL(F1;SZÖVEG.KERES("/";F1)-1)*1<30;BAL(F1;SZÖVEG.KERES("/";F1)-1)*1;"")
Fire.
-
válasz
Fehér Mancs
#4185
üzenetére
Hali!
Igen, igen, igen...
Egyszerű és nagyszerű megoldás, ráadásul a *1-el számmá is lesz alakítva ill. csak numerikus értékeket fogad el a "/" karkteren kívűl.......123/456.
1a/1b esetén meg #ÉRTÉK!Remek megoldás!

Fire.
-
válasz
mimi_bacsi
#4180
üzenetére
Hali!
A SPLIT a megoldás, helyezz el a lapon egy CommandButton-t, írja be valamit egy cellába, állj rá, katt...
Münkafüzet1 - Munka1(Code)
Private Sub CommandButton1_Click()
Dim x() As String
xstr = ActiveCell.Value
xstrlen = Len(xstr)
Pos = InStr(1, xstr, "/", vbTextCompare)
Rem Ez csak egy ellenőrzés, hogy NE LEGYEN ÜRES CELLA
Rem LEGALÁBB 3 KARAKTER SZEREPELJEN (pl 1/a)
Rem és LEGALÁBB EGY ELVÁLASZTÓ-KARAKTERT ("/") TARTALMAZZON
If Not (IsEmpty(xstr)) And xstrlen >= 3 And Pos <> 0 Then
x = Split(ActiveCell.Value, "/")
MsgBox ("Adat1 = " & x(0) & vbCrLf & "Adat2 = " & x(1))
Cells(ActiveCell.Row, ActiveCell.Column + 1) = x(0)
Cells(ActiveCell.Row, ActiveCell.Column + 2) = x(1)
End If
End SubA Split visszaad egy string-tömböt, amiben egyel több string lesz, mint ahány elválasztó-karakter. Ezekre, hagyományos módon 0-tól kezdődő indexel tudsz hivatkozni.
A sok feltétel azért kellett, mert különben hibát dob.(ha üres, meg nincs bent elválasztó, stb)Fire.
Új hozzászólás Aktív témák
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4160
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Általános igazgatóhelyettes tábla üvegből eladó
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Ez Microsoft ActiveX Data Objects 6.0 Library bővítménnyel és adatkapcsolattal, valamint mysql connector ODBC bővítménnyel megtámogatva van elkészítve. Természetesen kifogástalanul működik. Egy excel_mysql nevű adatbázis, test nevű tábláján megy végig és írja ki sorban a mezőket.



![;]](http://cdn.rios.hu/dl/s/v1.gif)


)








Fferi50
