-
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
-
félisten
-
félisten
Ki lehet jelölni több cellát is és azokról eltávolítani az érvényesítést, ugyanígy több cellához is lehet azonos érvényesítést is hozzáadni, csak itt kérdéses, hogy a legördülők mindegyike ugyanazt a tartományt használja-e...
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Ráállsz a cellára, ami legördülőként üzemel és újra az érvényesítést választod és ott lesz a tartomány.
Ilyen esetekben érdemesebb lehet a tartománynak nevet adni és az érvényesítésnél tartománynevet megadni a tartománynak. Ennek az az előnye, hogy a tartományneveket nyilvántartja az Excel, ki lehet listázni és módosítani is lehet rajta, ezáltal minden objektum, ami az adott tartománynevet használja tartományként, annak automatikusan megváltozik a tartománya. (De sok tartomány van ebben a mondatban)
Gyakorlatban, miről is írtam:
1. Tartomány elnevezése
2. Érvényesítés->tartomány a tartománynév
3. Névkezelő (képletek fül/Definiált nevek csoport/Névkezelő)
4. Az 1. pontban létrehozott tartománynév tartományának módosításaMindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz Sziszmisz #14133 üzenetére
W1 cella képlete
=FKERES(V1;AA:AC;3)
Ezt követően W1 cellát egérrel lemásolod ameddig szükséges.
(természetesen a W oszlopot is Pénznemre kell formázni, AC oszlopban használt formátumra)[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz varsam #14136 üzenetére
Feltételes formázással tudod megvalósítani.
Az itt linkelt képen egy olyan szabályt láthatsz, amely az A oszlopban jelöli meg piros háttérrel a legkisebb értéket. [link]
Ez alapján a saját igényednek megfelelően tudod módosítani.Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
-
félisten
válasz bozsozso #14140 üzenetére
Ezt jó lenne, ha pár képpel illusztrálnád, mert az nagy segítség lenne. Nem kell minden adatról kép, csak az egyik munkalap pár soráról, a másik munkalap pár soráról és hogy milyen legyen (megfelelő cellába manuálisan beírod, hogy hogyan kellene kinézni a dolognak)
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bozsozso #14142 üzenetére
Ez azért nagy segítség, mert szvsz a korábbi leírásod alapján ilyen felépítésű munkalapra nem gondoltam volna.
Ennek kivitelezéséhez alapvetően nem kellene makró, csak akkor ha a jelenléti munkalapban fontosak az üres sorok és az alsó munkalapban meg ne szerepeljenek.
Ha a jelenléti munkalapból mellőzhetőek az üres sorok vagy az alsó munkalapba meg bekerülhetnek az üres sorok, akkor nincs szükség makróra.
Akárhogy is, egy infóra viszont mindenképp szükség van, nevezetesen hogy melyik év, melyik hónapjáról van épp szó. (mert ezt nem látom a képen, csak azt, hogy a jelenléti munkalap A oszlopa funkcionál a napok jelzésére)
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bozsozso #14145 üzenetére
Remélhetőleg jól értettem és meg is felel (makró nélkül). Maradva a korábbi képednél, az alapján vannak a képletekben a hivatkozások. Ha nem jó cellára lenne a hivatkozás, akkor majd módosítod, ahogy megfelel.
Összesítő munkalap A9 képlete
=SZÖVEG(Jelenléti!$A$2;"éééé-hh-")&CSERE(Jelenléti!A24;HOSSZ(Jelenléti!A24);1;"")Összesítő munkalap E9 képlete
=SZÖVEG(Jelenléti!C24;"?0") &":" & SZÖVEG(Jelenléti!D24;"00")Összesítő munkalap F9 képlete
=SZÖVEG(Jelenléti!E24;"?0") &":" & SZÖVEG(Jelenléti!F24;"00")Összesítő munkalap G9 képlete
=Jelenléti!L24Az összes képlet másolható egérrel, ameddig szükséges
Nem tudom, hogy egyre gondoltunk-e, majd megnézed és írsz, ha valami nem kóser.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bozsozso #14147 üzenetére
Public Sub FSCD_Summary_Bozsozso()
Dim MyCurDate As Range
Dim MySrcStartCell As Range, MyDestStarCell As Range
Dim MySrcWS As Worksheet, MyDestWS As Worksheet
Dim MyFXs As WorksheetFunction
Set MyFXs = Application.WorksheetFunction
'MUNKALAP neve, amely a jelenléti ívet tartalmazza
Set MySrcWS = Worksheets("Jelenléti")
'MUNKALAP neve, amelyen az összesítés található
Set MyDestWS = Worksheets("Összesítő")
'A jelenléti munkalapon találhat IDŐCELLA címe
Set MyCurDate = MySrcWS.Range("$A$2")
'Jelenléti munkalapon ettől a cellától kezdődnek az adatok
Set MySrcStartCell = MySrcWS.Range("A9")
'Összesítő munkalapon ettől a cellától kell bemásolni az adatokat
Set MyDestStarCell = MyDestWS.Range("A1")
j = 0
For i = 0 To Day(MyFXs.EoMonth(MyCurDate, 0)) - 1
If Not IsEmpty(MySrcStartCell.Offset(i, 13)) Then
MyDestStarCell.Offset(j, 0).NumberFormat = "yyyy-mm-dd"
MyDestStarCell.Offset(j, 0) = Format(MyCurDate, "yyyy-mm-") & Format(i + 1, "00")
MyDestStarCell.Offset(j, 1) = MySrcStartCell.Offset(i, 13)
MyDestStarCell.Offset(j, 4).NumberFormat = "[h]:mm"
MyDestStarCell.Offset(j, 4) = Format(MySrcStartCell.Offset(i, 2), "0:") & Format(MySrcStartCell.Offset(i, 3), "00")
MyDestStarCell.Offset(j, 5).NumberFormat = "[h]:mm"
MyDestStarCell.Offset(j, 5) = Format(MySrcStartCell.Offset(i, 4), "0:") & Format(MySrcStartCell.Offset(i, 5), "00")
MyDestStarCell.Offset(j, 6) = MySrcStartCell.Offset(i, 11)
j = j + 1
End If
Next i
End SubAz összesítő munkalap tartalmát nem törli a makró, mert a korábbi kép alapján nem tudhattam, hogy az összesítő munkalapon vannak-e még más adatok is, ezért a makró futtatása előtt manuálisan töröld az összesítő munkalapon lévő adatokat.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz Metathrone #14150 üzenetére
A példád alapján írd le, ha FKERES lenne a függvény, akkor mit keresnél és milyen tartományban.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
"Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek."
Mármint egy 4. munkafüzetbe? (pl van munkafüzet1.xls/munkafüzet2.xls/munkafüzet3.xls és egy pl munkafüzet4.xls-ben összesítse az adatokat?)Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Az mindegy milyen függvény, útvonallal együtt megadható az XLS. Például:
=SZUM('C:\Users\Fire\Documents\[Munkafüzet1.xlsx]Munka1'!$A$1:$A$4)Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
-
félisten
1. Először is minden munkafüzet legyen abban a könyvtárban, ahol használni szeretnéd (ne utólag kerüljön át másik mappába)
2. Nyisd meg/hozd létre azt a munkafüzetet, amiben a másik 3 munkafüzet adatait szeretnéd egyesíteni
3. Nyisd meg a 3 munkafüzetet is
4. Hozd létre a szükséges, működő képleteket és zárd be a 3 munkafüzetetMegfigyelheted, hogy amíg a 3 munkafüzet meg volt nyitva, addig az Excel a képletekben csak a munkafüzet neveit jelölte, az útvonalukat nem. Viszont ha bezárod a 3 munkafüzetet, akkor az Excel automatikusan kibővíti a képletekben az útvonallal is.
Így mentsd el az összesítő munkafüzetet.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
"Darabteli vagy sima Sum fügvénnyel érdemesebb megoldani? Mi a fő különbség?"
Ilyen infókhoz használd az Excel súgóját, vagy Google-t, mert alapinformációk.
SZUM vs. DARABTELI"Ha egy excelben egy fülön megcsináltam minden (képletek benn) akkor hogyan tudom azt másik 12 fülre másolni, hogy a hivatkozások is megfelelően változzanak?"
Átmásolod a képletet a másik munkalapokra majd az adott munkalapon CTRL+H (csere) és a Munkafüzet1-et lecseréled Munkafüzet2-re"Állítólag csak a excel 2007-ben lehet megoldani, hogy csukott excelekből is nyerjen adatokat, régebbi verziónál csak 255 karakterig megy ez?"
Erről nem tudok, majd ha benéz Delila_1, Ő talán tud rá mit mondani, mert Ő még használ 2003-at. (ha nem tévedek)Ez a "255-ig megy ez" nem teljesen világos... (Ha Windows rendszerben a maximális karakterek száma a fájlnévben-re gondolsz, az nem Office függő)
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz joefasalasso #14210 üzenetére
Ha minden sorban ugyanazon 2 oszlophoz tartozó cellát kell összeszorozni, az egyszerűen kivitelezhető. Pl A-tól F oszlopban vannak az érintett sorok, akkor a G1-es cellába beírod, hogy =A1*B1 és egérrel lemásolod. (Természetesen igényednek megfelelően módosítod a képletet)
psg5
Szívesen.Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz tezse66 #14215 üzenetére
Remélem erre gondolsz. Az általad választott oszlop 2. sorának cellájába (pl K oszlop esetén K2-be, W oszlop esetén W2-be stb stb) szúrd be ezt a kódot.
=HA(F2<>"";HIPERHIVATKOZÁS("http://www.valami.hu/" & B2);"Cella üres")
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz desirehd #14222 üzenetére
Pl A oszlopban a kor, B oszlopban a fizetések, és a 40 évesek fizetésének átlagára van szükséged, akkor
=ÁTLAGHA(A:A;"=40";B:B)
dobri320
makróban nem lehet a magyar függvény nevekkel hivatkozni, azaz a kódodban a SZUM helyett SUM kell. A másik, hogy a .Value helyett a .Formula-t használd.[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz desirehd #14225 üzenetére
Korábbi képletben az A:A és B:B teljes oszlopot jelöli, persze hogy nem működik a képlet, egy ilyen felépítésű munkalapon, ahogy a képeden látszik(van fejléce, nem a teljes oszlop kell, stb), nyilván tartományt kell használni.
(Az már csak hab a tortán, hogy a képeden nem látok fizetést)
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz vzsryl #14237 üzenetére
Túl méretes az a fájl, valószínűleg az Excel 2003-ban érvényes valamelyik limitációt átlépte a munkafüzet tartalma. Hogy melyiket, azt nem lehet megmondani, pl lehet, hogy több mint 65536 sor van benne (pl korábban(amikor még meg lehetett nyitni) nem volt ennyi csak bele "tettél" bele többet stb stb)
Excel(2003) specifications and limitsSzóval egy 2007-el vagy újabbal kellene megnyitni, legalábbis ha szerkeszteni is kellene, akkor mindenképp vagy ezzel is megpróbálkozhatsz: [link]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz vzsryl #14239 üzenetére
Ha valóban az Excel 2003 limitációjából adódóan van jelen ez a jelenség, akkor csak annyit lehet tenni, hogy 2007/2010 Excelbe betölteni ezt a méretes xls-t, majd xlsx-ként menteni, majd feltelepíteni azt a csomagot, amit linkeltem és úgy (elméletileg) az Excel 2003 is tudja kezelni. Másik alternatív lehetőség, hogy megpróbálni LibreOffice-al megnyitni az eredeti xls-t, hátha nincs olyan nagyon speciális formázás vagy egyéb, ami miatt hibásan vagy egyáltalán ne tudná a Libre kezelni. (nyilván ha makrót is tartalmaz, az már kizáró ok)
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
-
félisten
válasz lacid90 #14269 üzenetére
Ha úgy érted, hogy az újonnan beszúrt sor és B oszlop metszéspontjába kell a csillag, akkor
Private Sub CommandButton1_Click()
ActiveCell.Offset(1).EntireRow.Insert
Range("B" & ActiveCell.Row + 1) = "*"
End SubHa az aktuális cella sorának és B oszlopának metszéspontjába kell a csillag, akkor töröld ki a makróból a + 1-et.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bozsozso #14312 üzenetére
Az FKERES függvénynek van egy 4. paramétere is, egy logikai érték(IGAZ vagy HAMIS) amit jól láthatóan nem használsz. Ez határozza meg, hogy pontos egyezéssel keressen avagy másképp.
HAMIS esetén pontos egyezéssel keres, ha így nincs találat, akkor #HIÁNYZIK értéket adja.
IGAZ esetén (vagy ha elhagyod 4. paramétert), akkor is pontos egyezéssel keres, de ha így nincs találat, akkor közelítő egyezéssel keres tovább és a keresési értékhez "legközelebbi" értékkel tér vissza.Leegyszerűsítve, használd így (a példádnál maradva):
=FKERES(B2;'[1.táblázat.xls]Munka1'!$B$2:$F$83;2;HAMIS)[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
-
félisten
válasz lacid90 #14331 üzenetére
Valószínűleg a munkafüzetben található makró(k) dolgoziz/dolgoznak olyan cellával, amelyeket levédtél. Ha ez a szitu, akkor ezt a "logikai buborékot" csak Te tudod feloldani, azaz át kell írni a makróban azokat a sorokat, amelyek védett cellával dolgoznak úgy, hogy a művelet idejére makróval feloldod, majd a művelet befejeztével makróval újra engedélyezed a védelmet/zárolást.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz lacid90 #14334 üzenetére
Lapvédelem engedélyezése jelszóval
ActiveSheet.Protect Password:="FSCD"Jelszóval védett lapvédelem feloldása
ActiveSheet.Unprotect Password:="FSCD"[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz pitman #14342 üzenetére
Ezt csak makróval lehet.
Amice
Function FSCD_Generator() As Variant
Dim NumberOfDigits As Integer, RNDRange As Integer, MyIndex As Integer
Dim MyDigits As Variant, MyNumber As Variant
MyDigits = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
'Hány számjegyű legyen a generált szám
'(10 számjegyűnél nem lehet több, mert akkor biztosan ismétlődik legalább 1 számjegy)
NumberOfDigits = 8
If NumberOfDigits < 1 Or NumberOfDigits > 10 Then
FSCD_Generator = "A számjegyek száma 1 és 10 közé kell, hogy essen!"
Exit Function
End If
RNDRange = UBound(MyDigits)
MyNumber = ""
For i = 0 To NumberOfDigits - 1
MyIndex = WorksheetFunction.RandBetween(0, RNDRange)
MyNumber = MyNumber + MyDigits(MyIndex)
If MyIndex <> RNDRange Then
For j = MyIndex To RNDRange - 1
MyDigits(j) = MyDigits(j + 1)
Next j
End If
RNDRange = RNDRange - 1
Next i
FSCD_Generator = MyNumber
End Function[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz lacid90 #14347 üzenetére
Megnyitod Excel-el mindkét munkafüzetet. Amelyikből másolod az adatokat, annak a munkalapnak a Change eseményébe kell írni a kódot.
Egy egyszerű példa: Adott 2 munkafüzet, Munkafüzet1 és Munkafüzet2 néven. Mindkettő meg van nyitva az Excel-el és a Munkafüzet1, Munka1 lapjának A1 cellájának módosításakor (és csak az A1 cella módosításakor) átmásolja az A1 cellát, a Munkafüzet2, Munka1 lapjának A1 cellájába.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Workbooks("Munkafüzet2.xlsm").Sheets("Munka1").Range("A1") = Range("A1")
End If
End Sub[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz Tepsifüles #14349 üzenetére
Ha nem ActiveX vezérlőről van szó, akkor ráállsz arra a cellára, "amiben" a legördülő listát látod, majd Adatok fül/Adateszközök csoport/Érvényesítés lenyíló/Érvényesítés és a megjelenő ablakban ott lesz a tartomány. Ha a tartománynak névvel ellátott tartomány van megadva, akkor azt a Képletek fül/Definiált nevek csoport/Névkezelő segítségével (is) tudod megnézni és szerkeszteni (ha kell).
Ha ActiveX vezérlőről van szó(ComboBox), akkor jobb egér a vezérlőn/Tulajdonságok és a ListFillRange tulajdonságban van a tartomány.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bugizozi #14350 üzenetére
Az egyik (szvsz legegyszerűbb) kivitelezése ez.
1. Névvel ellátott tartományokkal kell dolgozni. Itt a példában 3 tartomány van és lett elnevezve, C oszlopban a különböző autótípusok vannak felsorolva (C2-től), D oszlopban csak a Fiat típusok (D2-től), E oszlopban csak az Opel típusok (E2-től). Ha egy új autótípust vennél fel, akkor azt a D4-be kellene írni és F oszlopba, F2-től kellene felsorolni a csak az adott gyártó típusait és F2-től valameddig el kell nevezned a tartományt. Az egészben az a "trükk" (ami leegyszerűsíti az egész feladatot), hogy a különböző autótípusok nevei (Fiat, Opel), azok egyezzenek meg a tartománynevekkel, amit típusonként megadsz. Mindez jól látszik a linkelt képen.
2. Ha az 1 pont rendben van, akkor már egyszerű a dolog
# A2 érvényesítés és forrás
# B2 érvényesítés és forráspero19910606
Valami ilyesmire gondolsz?[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz pero19910606 #14356 üzenetére
Szívesen segítenék(segítenénk), de a korábbi hozzászólásod is zavaros volt a számomra, de a mostani hozzászólással teljes köd szállt az agyacskámra, halványlila gőzöm nincs, hogy mit is szeretnél.
Talán valaki tudja értelmezni és tud segíteni.Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz pero19910606 #14359 üzenetére
Igen, így érthető, bár ennek fényében a "Valami ilyesmi igen, de így nem kell azon a gépen futni az exelnek a hibátlan megnyitáshoz amin dolgozom? " kérdésedre csak az lehet a helyes válasz, hogy:
Hol fusson? Afrikában a batu olimpián, százméteres palackfafutó versenyen, csörgőkígyóval a nyakában, kiéhezett hiénacsapattal a potrohában nem tud futni az Excel.Szóval beszúrsz egy megjegyzést, megjegyzés keretén jobb egér/megjegyzés formázása/színek és vonalak fül/kitöltés csoport->szín lenyíló/kitöltési effektus/kép fül és kép kiválaszt.
Ennek ez az eredménye: Cella fölé viszed az egérkurzort megjelenik, ha elviszed eltűnik.
Nyilván 100-as nagyságrendű képnél ez eltart egy ideig manuálisan, kivéve bizonyos feltételek mellett. Pl: A1-től A100-ig kellene minden cellával ezt eljátszani, akkor egy mappába gyűjteni a 100 képet, azokat átnevezni sorszámozva, pl akarmi_0001.jpg, akarmi_0002.jpg stb stb.
Így lehetne olyan makrót írni, ami A1 cellába beszúrna megjegyzést és az akarmi_0001.jpg használná, egészen A100-ig, ahol már az akarmi_0100.jpg lenne a megjegyzésben.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bugizozi #14360 üzenetére
Igen, ezért kéretik leírni, hogy milyen verziójú az Excel...
Excel 2003 - Definiált név módosítása vagy törléseMindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz bajor14 #14354 üzenetére
Nem írtad, hogy pontosan miben nyilvánul meg, hogy "nem működik" a makró, de szvsz az lehet a háttérben, hogy egyszer sem fut le, mert az aktív munkalap N2 cellája( Cells(2,14) ) üres és egyből kilép a ciklusból.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Üres munkafüzet legyen nyitva, ALT+F11/Insert menü/Module, a megjelenő üres ablakba bemásolod a kódot (Copy/Paste-el), munkafüzet pl A1 cellájába(vagy bárhova) meg beírod:
=FSCD_Generator()
A cella másolható, a munkafüzetet makróbarát munkafüzetként kell menteni.
Ez a makró egy saját készítésű függvény, egy 8 jegyű "kódot" ad vissza, amiben nincs ismétlődő számjegy.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Igen, az járható út, de ha korábban írtad volna, akkor már úgy írtam volna a makrót, nem szeretem az utólagos hegesztéseket. (mert az olyan kihatással lehet a makró működésére, hogy még a gép is beakadhat tőle)
Ha kiszedted az Array-ből a nullát, akkor az alábbi részben
If NumberOfDigits < 1 Or NumberOfDigits > 10 Then
FSCD_Generator = "A számjegyek száma 1 és 10 közé kell, hogy essen!"
Exit Function
End Ifmódosítsd a > 10-et > 9-re és a hibaüzenetben is "1 és 9 közé"
Végül si ha a makróban a NumberOfDigits értékét nem módosítod, akkor nincs gond.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Mondjuk az nem tudom jelent-e gondot, hogy akárhányszor megnyitod a munkafüzetet vagy nyomkodod az F9-et, mindig új szám lesz generálva. Akkor lehet ez gond, ha csak egyszer (vagy amikor Te akarod, csak akkor) legyen generálva szám.
Ha ez szempont, akkor majd írsz.Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz lacid90 #14373 üzenetére
Ez már megint más programozást igényel, mint amit korábban kérdeztél...
Az Excel-t 2 példányban kell megnyitni, így az egyik ezen, a másik azon a monitoron lesz látható (nyilván most a videokari beállításaira nem térek ki), és ez eddig rendben is van, ez az egyszerűbb része a dolognak. Viszont a 2 alkalmazás közti kommunikáció megint más tészta és oda Windows API függvények bevonása is szükséges, amit kezdő, az excel-el, makróval stb csak most ismerkedő versenyzőnek igen kemény avagy kivitelezhetetlen feladat.
(OS és Office függő, ezen belül x86 avagy x64 sem mindegy, más és más deklarációt igényel a makróban az API függvények, és az sem árt, ha tudja valaki, hogy mik is azok az API függvények és hogy abból van több száz/ezer...)Ezt elkerülendő egy kerülőmegoldást tudok elképzelni, azaz 2 példányban van megnyitva az Excel, az egyikben egy makró elmenti a munkafüzetet, ha bármilyen módosítást észlel, a másik excel meg meghatározott időközönként ebből a munkafüzetből olvassa be az adatokat, pl másodpercenként.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz lacid90 #14375 üzenetére
Nem, csak 2 Excel-nek kell megnyitva lennie, nem 3-nak. Nem tudom milyen OS-t használsz, de Vista/W7 esetén (előtte zárj be minden megnyitott Excel-t) WIN gomb +R/beír excel és enter, majd megismétled még1x.
(XP-nél erre nem emléxem és most nem is tudom kipróbálni sajnos)Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Egyszerűség kedvéért névvel ellátott tartományok lesz a példában, pl UBUL.
Vannak statikus és dinamikus tartományok, ezeket az Excel(típustól függetlenül) dinamikusan tudja frissíteni, adott esetben.Statikus tartomány az, aminek van "jól behatárolt" eleje és vége, pl $A$1:$A$10. Ha az A11-be írnál valamit, az nem kerül be az UBUL tartományba, Excel sem fogja dinamikusan bővíteni, manuálisan kell kibővítened az UBUL tartományát $A$1:$A$11-re.
Ha viszont az A10 cellának megfelelő sorban van a kurzor és beszúrsz egy sort, akkor azt az Excel dinamikusan frissíti, azaz manuális beavatkozás nélkül, az UBUL tartomány forrását $A$1:$A$10-ről, $A$1:$A$11-re bővíti.Dinamikus tartomány az, aminek nincs jól behatárolt eleje/vége, tipikusan amikor egy teljes oszlop vagy sor tartozik a tartományba, pl $A:$A vagy $1:$1
Itt nincs dolga az Excel-nek, ezen nincs mit bővíteni, az adott oszlopba vagy sorba beírt adatok értelme szerűen az UBUL tartomány részét fogják képezni, az UBUL tartományt használó objektumokba (pl az érvényesítési listába) a beírt adat automatikusan bekerül.Szintén dinamikus tartományokhoz tartozik, amikor egész sor vagy oszlop a forrás, de bizonyos kivételekkel, azaz az UBUL tartomány ne a teljes oszlopot vagy sort tartalmazza, hanem pl csak a 2. sortól vagy 2. oszloptól legyen a teljes oszlop vagy sor az UBUL nevű tartomány forrása.
Pl ha az a terv, hogy az UBUL nevű tartomány F2-től kezdődően a teljes F oszlopot foglalja magábal, akkor az UBUL tartományt így kell megadni: [link]Az ily módon létrehozott dinamikus tartományok nagy előnye, hogy nem kell manuálisan módosítania a felhasználónak és természetesen az üres cellák sem jelentenek gondot, hisz (maradva az érvényesítési listáknál) van olyan opció, hogy az üres cellákat ne jelenítse meg.
Kicsit hosszú lett a hsz, de remélem azért érthető.
bugizozi és lacid90
Bocsesz, most nem válaszolok, kicsit szellőztetem a fejem, mert nem rég értem haza ilyen "teganelőtre kelle, totálkáros gépekbe életet lehelni" kategóriájú melóból, fáradt vagyok. (Ráadásul szabin vagyok, de "kénytelen voltam" elvállalni)
Remélhetőleg Delila_1 is feltűnik (tényleg, amúgy merre "csatangolsz? ) vagy valaki más és leírja, hogy mi a megoldás. Én max eset valamikor fogok válaszolni(ha tudok persze), addig pihentetem a szürkeállományt.[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
"Ezt a dinamikus tartományt egyébként a 2003-as excel is tudja?"
Igen."...magyarán azt mondod, hogy azért van az egyiken, és nincs a többin, mert statikus a tartomány dinamikus helyett?"
Nem, mivel a névvel ellátott tartományok globálisak, azaz bármely munkalapról elérhetőek. Ebből következően a "Ez pedig, számomra rejtélyes okból, CSAK az első munkalapon működik - és nem csupán az, hogy új elemet szúrhassak be a listába, hanem maga a legördülés is." kérdésedre nem tudom a választ sajnos.Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Ha nincs akadálya, akkor tedd fel egy fájlmegosztóra(pl ide) ezt a problémás munkafüzetet(olyan adat ne legyen benne, ami nem publikus), majd (de tényleg csak majd) ránézek, meg így más is rá tud nézni. Lehet, egyből ki lehet szúrni a bakit.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz atillaahun #14387 üzenetére
A példádnál maradva
1. vidd a cellakurzort a B oszlop bármely cellájára (ami tartalmaz képletet, ne üres legyen), majd CTRL+C
2. vidd a cellakurzort az A oszlopba, majd CTRL + Kurzormozgató LE(így az A oszlop utolsó, adatot tartalmazó cellájára áll a cellakurzor)
3. vidd a cellakurzort ebben a sorban maradva a B oszlopba, majd CTRL+SHIFT+Kurzormozgató FEL, majd CTRL+V és ESC[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Erre mondják, hogy csalamádé. Elég csak benézned a Névkezelőbe és látod, 5-6 (vagy több) tartománynak ugyanaz a neve. [link]
Másik tipikus hiba, hogy az érvényesítési lista forrásában a cellákra abszolút hivatkozással kell hivatkozni, azaz a oszlop- és sorazonosító elé is kell a dollár jel, pl INDIREKT($A$1)Szerintem ugorja neki még egyszer, egyértelmű és ne 1-2 betűs tartományneveket használj. (Ha a rosszak ki vannak törölve és újra át vannak nevezve, akkor működnek a listák)
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz motinka #14410 üzenetére
Ha 2003-as Excel-t használsz
Ha 2003_asnál újabb az Excel, akkor =SZUMHATÖBB(C1:C8;A1:A8;"a";B1:B8;"c")UI: DARATELI függvénnyel nem lehet összeadni.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz motinka #14412 üzenetére
Erre való a SZUMHATÖBB függvény, csak azt amit leírtál: "...és a C sorban az O4-nek...", ezt nem lehet kivitelezni, mert nincs olyan, hogy C sor. Olyan lehet, hogy pl a 3. (vagy egyéb) sorban ($3:$3)
Ezért is írtam egy sima példát a SZUMHATÖBB-re, aztán majd saját igényed szerint módosítod.(Látom megtörtént időközben)Szerk
Ha kódot szúrsz be a hozzászólás írásakor, akkor használd a Programkód gombot, mert különben smiley-kkal tüzdelt, mint most, meg korábban is a képlet.[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
Új hozzászólás Aktív témák
- Sony PSP
- Budapest és környéke adok-veszek-beszélgetek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen okostelefont vegyek?
- Elcsípte a Huawei kameratelefonja az első helyet
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Azonnali informatikai kérdések órája
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Vezeték nélküli fejhallgatók
- További aktív témák...
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen