- Milyen okostelefont vegyek?
- Xiaomi 14T Pro - teljes a család?
- VoLTE/VoWiFi
- Honor Magic6 Pro - kör közepén számok
- Android alkalmazások - szoftver kibeszélő topik
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Honor 400 Pro - gép a képben
- Samsung Galaxy S24 FE - később
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Sony Xperia 1 V - kizárólag igényeseknek
-
Mobilarena
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
-
-
Jumbo
tag
Szia!
Egy cellával is csak villant, de nem hajtotta végre.
1. elmentettem xlsx-ként, volt is benne egy VB-projekt nevű makró (gondolom a makró miatt 5,6M-ról, 107,5k-ra csökkent a mérete), de a problémát nem oldotta meg.
2. kijelöltem - felfedés, de jól emlékeztem, hogy nem volt benne rejtett sor/oszlop.
3. File -> Beállítások -> Speciális-> Beállítások megjelenítése ehhez a munkafüzethez részben, az Objektumoknál megjelenítendő-t átállítottam az összes-re, és így már működik!Köszönöm szépen!
Üdv!
-
paatrick
őstag
-
Kal-El
senior tag
Köszi szépen!
Tökéletesen működik. Google Drive-ba nem tudod, hogy van-e ilyen DARABHATÖBB függvény? Mert importáltam és átírta COUNTIFS-re, de úgy már nem működik. Ezt már többször is csináltam más függvényeknél és mindnél működött, de ezzel sajnos nem. Lehet ezt még nem oldották meg benne. -
macilaci78
nagyúr
Ez nem az, amit keresek.
Transzponáljon, de ne egybe az egész táblát.
Az kell, hogy egy sor mondjuk 20 celláját transzponáljon, majd alá a következő sor 20 celláját.Tehát
Sheet1'A1->Sheet2'A1
...
Sheet1'T1->Sheet2'A20
Sheet1'A2->Sheet2'A21
...
Sheet1'T2->Sheet2'A40Tehát a Sheet1 oszlopainak számától függetlenül a Sheet2 egyetlen oszlopól álljon. Pontosabban inkább 4-ből.
Sheet1'A1->Sheet2'A1
...
Sheet1'T1->Sheet2'A20
Sheet1'A2->Sheet2'B1
...
Sheet1'T2->Sheet2'B20
Sheet1'A3->Sheet2'C1
...
Sheet1'T3->Sheet2'C20
Sheet1'A4->Sheet2'D1
...
Sheet1'T4->Sheet2'D20Sheet1'A5->Sheet2'A21
...
Sheet1'T5->Sheet2'A40
Sheet1'A6->Sheet2'B21
...
Sheet1'T6->Sheet2'B40
Sheet1'A7->Sheet2'C21
...
Sheet1'T7->Sheet2'C40
Sheet1'A8->Sheet2'D21
...
Sheet1'T8->Sheet2'D40Tudom, hogy megérteni sem könnyű így, viszont nagyon örülnék, ha ezt meg lehetne oldani.
-
swoody
senior tag
Szia,
Már megoldottam, a keres és csere funkicóval, de attól függetlenül köszönöm szépen. Ha hamarabb frissítem böngészőt lehet látom amit írsz mert kb. fél órája jött az ötlet a keres és csere funkció.
De lehet, hogy kell majd függvény is mert ez az egész dokumentumra végzi el és gondolom a függvénybe pedig meglehet adni a pontos helyeket.
-
Caipi
tag
Szia,
Én pont fordítva szeretném, tehát a napokat kiválasztva mondja meg, hogy az milyen dátum.
A "Dátum" oszlop első dátumát beírom kézzel ( D 4 ), mellé ( E 4 ) kiszedem a nap nevét függvénnyel.
De ezek után már csak a napot választom ki (E oszlop) a 7 soros blokkokban ( 4-10 sor, 11-17 sor, 18-24 sor, stb) és a kiválasztott nap neve alapján szeretném mellé tenni függvénnyel, hogy az milyen dátumra esik. (Arra gondoltam, hogy a napok közti különbség összegével növelem a dátumot)
Annyi csavar van benne, hogy a kiválasztott napok ( E oszop) nem biztos, hogy egymás után sorba jönnek, mint látszik lesznek üres sorok, esetleg akár egy hét is kimaradhat.Próbáltam ezt modellezni a csatolt képpel
-
ElemiKoczka
csendes tag
Így már nálam is jobban működik
A második sorban lévő időnél azonban nem számol megfelelően, mivel meg kellene jelenni a délelőttös műszaknál is 2 órának az éjszakásnál pedig 7 órának. Ezt lehet még valamivel módosítani, hogy jó legyen?
Idekapcsolódó kérdésem továbbá, hogy munkalap nevét lehet cellából megadni? Ha változik a cella neve akkor változik a munkalap neve? -
ElemiKoczka
csendes tag
Szia!
Köszönöm a tanácsot.
Milyen formátumban vannak az egyes oszlopok?
Az én táblázatomban minden oszlop [ó]:pp;@ formátumban van, mert további számolások, összesítések is vannak még. Pl. a D, E és a D+E oszlopok időinek összege, valamint normatívákhoz is kapcsolódnak ezek az idők. -
motinka
tag
hello,
http://www.hunsurf.hu/teszt_20130524.xlsx
ide felraktam a táblázat egy részét, természetesen sokkal több sorbó és több oszlopból áll.
A lényeg az lenne hogy az adat fül érkezik minden nap és az adat2 fül első sora szerinti oszlopokra lenne szükségem, ami az eredeti adat fülön lévő megnevezése az második sorban látható.
És miután átrakta a kívánt oszlopokat, rendezze be dátum szerint.
Ezzel nem is lenne gondom, csak az lenne a kívánalom, hogy másnap jön egy újabb fájl aminek az adat fülében benne vannak az aznapi adatok, és akkor is kellene egy adat2 fül belőle, és így tovább minden nap. -
Caipi
tag
Szia,
Köszönöm szépen, a függvényre volt szükségem :-)
Megint nem láttam a fától az erdőt, nem jutott eszembe ez az egyszerű megoldás.A bal oldali táblázatba kézzel bevitt összegek kerülnek. A feladvány az, hogy a kézi beírás ugyanabba az oszlopba/oszlopokba kell történnie, mint a függvénnyel átemelt értékeket tartalmazó jobb oldali táblázatban.
Ezen felül még a táblázat sorainak végösszegei meg kell egyezzenek egy harmadik helyen bevitt adatokkal.
De ennek segítségével már megy is az egész :-)
Még1x köszönöm :-) -
Kobe
veterán
hat ez valami kibaxott nagy access issue lesz, vagy nem tudom
Kiprobaltam mindent amit leirtal, vegigbogarasztam a teljes CPearson fele VBA programming szekciot, gyakorlatilag mindenhol ugyanezt a emgoldast hasznaljak, amit te is mutattal, nalam ez is errorra fut. Minden valtozo definialva van rendesen, ennel a linenal viszont errorra fut :
Set VBComp = VBProj.VBComponents.Add(vbext_ct_StdModule)
mondvan a vbext_ct_StdModule nincs definialva mint valtozo, ami tok erdekes mivel ugye ez standard VBA komponens es kulon definialas nelkul is mennie kene...
-
Kobe
veterán
hello mester
köszi a tippeket mint mindig
igen, próbálkoztam azzal, hogy átírom így, ahogy te is javasoltad:
LineNum = .CreateEventProc("Open", "Workbook")
de ilyenkor valamiért összeakadt a kód többi sorával - általában elakadt ennél a sornál, és accessben egy "Event handler is invalid" hibaüzenetet kaptam.
Igazából az lenne a cél, hogy az adott makró csak 1 fusson le, és többször ne, gondolom akkor ez az If amit írtál, azt csinálja hogy csak akkor futtatja, ha A1 üres, ha bármilyen érték van benne, akkor már nem fut le. Ez tök jó lenne, mert A1 általában mindig ki van töltve, csak amint átakarnám írni Open eventprocedurre a dolgot, onnantól kezdve borul a bili
pedig van egy hasonló makró ami létrehoz és emgformáz egy táblázatot excelben, az ugyanezzel a kóddal perfektül működik. Nem tudom, hogy az xls tartalmának lehet e közze hozzá, ez a file amit használni akarok annyiban komplikáltabb hogy általában 3 munkalap van rajta:
Sheet1 (INT)
Sheet2 (excl INT)
Sheet3 (All)én igazából ezt a makrót mindig csak az INT nevű munkalapon szeretném futtatni, gondolom akkor ezt valahogy a Code = Code & .... részben definiálni kellene
-
Kobe
veterán
helló
köszi a tippet, így működik
Viszont az egyik makróm továbbra sem akar tökéletesen funkcionálni:
Function OpenformatSWP()
Dim objexcel As Object
Dim objworkbook As Object
Dim CodeMod As Object
Dim LineNum2 As Long
Dim Code3 As String
Const DQUOTE = """" ' one " character
Dim destination2 As String
destination2 = "C:\Users\test\swp\test.xls"
Set objexcel = CreateObject("Excel.Application")
objexcel.Visible = True
objexcel.DisplayAlerts = False
Set objworkbook = objexcel.Workbooks.Open(destination2)
Set CodeMod = objworkbook.VBProject.VBComponents("Sheet1").CodeModule
Code3 = ""
Code3 = Code3 & " Dim lngLastRow" & vbNewLine
Code3 = Code3 & " lngLastRow = Cells(Rows.Count, ""A"").End(xlUp).Row" & vbNewLine
Code3 = Code3 & " Columns(""X:X"").Select" & vbNewLine
Code3 = Code3 & " Selection.Insert Shift:=xlToRight" & vbNewLine & vbNewLine
Code3 = Code3 & " Range(""X1"").Select" & vbNewLine
Code3 = Code3 & " ActiveCell.FormulaR1C1 = ""common_id""" & vbNewLine & vbNewLine
Code3 = Code3 & " Range(""X2"").Select" & vbNewLine
With CodeMod
LineNum2 = .CreateEventProc("Change", "Worksheet")
LineNum2 = .VBE.MainWindow.Visible = False
LineNum2 = LineNum2 + 1
.InsertLines LineNum2, Code3
End With
objworkbook.Save
objworkbook.close
'reopen Excel to run autostart
objexcel.Workbooks.Open (destination2)
End Functionezt a functiont futtatom accessből, és az volna a cél, hogy a test.xls file első munkalapjára beszúrjon és futtasson egy kódot.
Perpillanat accessben Runtime error 40063 as hibával leáll a makró ennél a sornál:
LineNum2 = .CreateEventProc("Change", "Worksheet")
Az excel fileban is elég érdekes az eredmény, a Code3 ként definiált kódot egyszerűen nem a Sub / End Sub közé szúrja be, hanem elé. Sorról sorra így néz ki az Excelben megjelenő kód:
Dim lngLastRow
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
Columns("X:X").Select
Selection.Insert Shift:=xlToRight
Range("X1").Select
ActiveCell.FormulaR1C1 = "common_id"
Range("X2").Select
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub -
kordasb
tag
azert irok erre valaszt mert taltan ez all legközelebb a kerdesemhez
Sales jutalekot szeretnek szamolni:If a Salesperson sells $0-$10,000 they are paid 20% commission on that
Between $10,001 - $20,000 they are paid 22.5% (just on everything over $10,000)
Between $20,001 - $42,000 they are paid 25% (just on everything over $20,000)
Anything over $42,000 they are paid 27.5%talaltam is megoldast 2 függvennyel de nem tudom müködesre birni
mar szetszedtük összeraktuk de csak nem akar jo lenni logiaki hiba miatt.=SUMPRODUCT((A1>{0,10000,20000,42000})+0,A1-{0,10000,20000,42000},{20,2.5,2.5,2.5}%)
=SUM(MAX(MIN(A1,10000),0)*20%,MAX(MIN(A1-10000,10000),0)*22.5%,
MAX(MIN(A1-20000,22000),0)*25%,MAX(A1-42000,0)*27.5%)Esetleg ha letezik eleganssabb megoldas szivesem fogadom nekem sajnos meghaladja a tudasomat.
Elöre is köszönöm.
(a kapcsoszarojelt nem tudom ertelmezni nem ertem miert van ott ahol van es mire szolgal.) -
wolfman
veterán
Csak b.szott az ideg, hogy egy ennyire egyszerű dolgot nem lehet megcsinálni egy hülye táblázatkezelőben, mert ez aztán végképp nem lenne nehéz feladat, aztán egy óra ügyködés után találtam egy legördülő választéklista nevű cuccot, azzal sikerült. Kijelöltem a tartományt (beleértve a megnevezéseket (munkakör, beosztás, lakhely stb.) majd lista létrehozása, (lista rovatfejekkel kipipálva), ok, majd minden más tartományt is és így megy.
Igaz most eltűnik a nyilacska ami jelzi, hogy azt ott szűrhető oszlop, de a mezőn belül kattintva előtűnik/tűnnek! Nem értem, miért nem lehet ezt alapból megcsinálni, miért kell ez egy másik helyen előhívni!?
-
Kobe
veterán
köszi, megnézem ezt is
közben felvetnék még egy kis makró tervezést, amolyan elméleti síkon ki hogy csinálná. Tehát az alapszitu:
Adott 2 excel tábla, ami nagyon hasonló adatokat tartalmaz, az oszlopok olyan 60%-ban megegyeznek. Mind a két fileban a tételeket kommentálni kell, az egyikben már alapból benne vannak ezek. Az egyik tételhez tartozó kommenteket szeretném átmásolni a másik fileba, hogy ne manuálisan kelljen, időt spórolva. Ezt a következő lépésekben gondoltam megvalósítani a makróval, csak érdekelne szerintetek mennyire életképes:
1. adatbázisból kiexportálni a tételeket - gyak létrehozni a Workbook1-et, egy megadott hálózati mappában, adott néven - ez csak egy ideiglenes file lenne, amit a folyamat végén jó lenne törölni.
2. Workbook1-ben létrehozni egy egyedi azonosítót, amire VLOOKUP-pal lehet majd hivatkozni a másik fileból.
3. Megnyitni Workbook2-t valamely hálózati mappából
4. létrehozni Workbook2-ben benne ugyanazt az azonosítót
5. A megadott cellákba VLOOKUP-pal Workbook1-ből Workbook2-be másolni az adatokat
6. Mivel az ideiglenes filet törölni kellene, ezért a vlookup által adott adatokat értékként beilleszteni ugyanazokba a cellákba (mivel ha törlődik workbook1, megszakadna a link a fileok között, és csak #N/A maradna a cellákban
7. Workbook2 mentése, Workbook1 törléseSzerintetek ez összesűríthető 1 makróba ? a legpöpecebb lenne ha az egy access-es gombnyomásra lefutna
Szerintem megvalósítható, az egyetlen probléma az, hogy Workbook2-ben nem minden tételre kellene bemásolni az adatokat. Workbook2 ben van egy oszlop, amiben van egy azonosító - "Hazai" vagy "külföldi", ez a két féle érték van a cellában. A makrónak ebben az esetben csak a "hazai" tételekre kellene kitölteni a dolgokat (a "külföldi" tételekre futna egy ugyanilyen makró egy másik adatbázisból és azt az töltené ki), gondolom ez egy sima If-fel menne, pl.
IF A1="hazai" then
makró szövege
Else
Exit sub -
Melorin
addikt
Köszönöm, kipróbálom.
Még egy kérdés: Szeretném feljegyezni egy bizonyos tevékenységben eltöltött napi időmennyiséget és havi összesítőt csinálni, de akadályba botlok, amikor nem osztható fél órával az érték. Tehát 2 1,5 3 ezek mennek, lehet SZUM-ot használni rájuk, de ha 1óra10perc lenne az érték, megbolondul az egész.
Ezt hogyan lehet megvalósítani? -
m.zmrzlina
senior tag
Köszönöm ezt a valóban kimerítő parádés választ.
Igaz a végleges megoldásba a makrós megoldás jobban illeszkedett mivel az egész megoldás makróra épült. Egy szedett-vedett munkafüzetből kellett kimazsolázni a fontos adatokat és (nyilván a nem kellő átgondoltság miatt) az adatok ide-oda rakosgatásával menet közben elfelejtett a dátum dátumként viselkedni.
Ráadásul ez a hiányzó dátum ellenőrzés már csak bónusz volt a feladatban de Delila konvertálós megoldása egyetlen makrósorban megoldotta a problémát.
Köszi még egyszer!
-
Caipi
tag
Köszönöm a tippeket,
Az a gondom, hogy ha hibafigyelés nélkül rakom be a képletet, üres cellák esetén #HIV! hibát ad, úgyhogy legalább egy HAHIBA()-ba beleteszem az egészet.
A 0 eltüntetését köszönöm, ott az első javaslatot használom, mivel elkészített táblázatban más-más színűek a sorok. -
Caipi
tag
Csináltam gyorsan egy példát:
Elnevezés 1-3: Ide összegzem az adott sorból azokat az Összege X cellákat, ahol az adott blokk elején (Elnevezés típusa) a megfelelő Elnevezés 1-3 található (Ezeket listából lehet választani ezeknél a celláknál).
Elnevezés típusa x, Infó x, Összege x: egy-egy blokk, ők vízszintesen vannak soronként és folyamatosan nőnek, ahogy érkeznek az adatok.
Most egy nagyon hosszú szum() és HA() függvényekkel nézem, de gondoltam, hátha valakinek van egy ennél sokkal praktikusabb megoldásaKöszönöm
-
RAiN91
őstag
Szia
Köszönöm, de nem teljesen erre gondoltam, én fogalmaztam rosszul, leírom újra.Sportfogadás statisztikát írok, elég sok adat lesz. Van egy olyan oszlop, hogy nyert-e a csapat, illetve mellette egy megjegyzés oszlop. "Nyert-e a csapat" oszlopban ha nyert, akkor OK szöveg szerepel.
A lényeg: a megjegyzés cellában ha van valami írva, akkor megnézze a másik oszlopot, hogy nyert-e. És meg nézni, hány darab ilyen van. Tehát ha a pl. a megjegyzés cellában nincsen semmi, de mellette lévő cellában OK szöveg szerepel, azt ne számolja.
A te példádra lefordítva:
Azon cellák darabszámát megszámolni, amelyeknél a "Mese" cella melletti cellában "M2" szerepel.De nem olyan fontos ez nekem, csak azért kérdeztem, hátha valami egyszerű módon lehet számolni.
Azért köszönöm
-
Delila_1
veterán
Köszönöm! Ennek megfelelően módosítva a makró
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ShapeDel As Integer
Dim wPath As String
If Target.Address = "$A$1" Then
ShapeDel = ActiveSheet.Shapes.Count
Do
If Shapes(ShapeDel).Type <> 8 Then Shapes(ShapeDel).Delete
ShapeDel = ShapeDel - 1
Loop While ShapeDel > 0
Range("B5").Select
Select Case Range("A1").Value
Case "pic1"
wPath = ThisWorkbook.Path & "\pic1.jpg"
ActiveSheet.Pictures.Insert (wPath)
Case "pic2"
wPath = ThisWorkbook.Path & "\pic2.jpg"
ActiveSheet.Pictures.Insert (wPath)
Case "pic3"
wPath = ThisWorkbook.Path & "\pic3.jpg"
ActiveSheet.Pictures.Insert (wPath)
End Select
End If
End SubRemélem, whatnot is ellátogat újra.
-
m.zmrzlina
senior tag
Ez kiváló pont ilyesmire van szükségem.
Hogyan lehet ezt a linkedcell értéket futásidőben változtatni?
Az lenne a cél, hogy (megkönnyítendő az adatbevitelt) egér használata nélkül:
1. pl A1-be írok egy számot
2.Linkedcell értéke AktiveCell.Offset(0,1)
3.Enter-re megkapja a Combobox a fókuszt
4.kiválasztom a ListfillRange elemeiből a kívántat
5.Enterre beíródik a Combobox tartalma LinkedCell-be, ez esetben ("B1")
6.(A oszlop első nem üres cellája).Select (eggyel lejjebb ugrik az aktív cella)
7. GoTo 2 -
m.zmrzlina
senior tag
Köszi a választ.
Az egybefüggő tartományos módszert ismerem. A te javaslatodról mondanál pár szót?
Mennyiben különbözik ez a megoldás a validált listástól? Ott ugyanis ALT+lefelenyíl > PgDown(PgUp) vagy a kurzornyilak segítségével lehet a kívánt elemhez navigálni. Merthogy ettő keresek egy rugalmasabb megoldást. (kb 200-250 elemről van szó)
-
detroitrw
addikt
Szia!
kipróbáltam, de hibát lök a futtatáskor
egy ilyennel oldottam meg:
A = ActiveCell.Row
B = ActiveCell.Column
ActiveSheet.Cells(A + 1, B + 0).Selectmivel ez csak 1 ciklus így adtam neki egy ciklus mennyiséget:
Private Sub xxxxx
For x = 1 To 1000
......
Next x
End Subnem olyan elegáns de megoldja a gondom
Köszi
Új hozzászólás Aktív témák
Hirdetés
- Milyen okostelefont vegyek?
- EA Sports WRC '23
- Star Trek
- Xiaomi 14T Pro - teljes a család?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD GPU-k jövője - amit tudni vélünk
- Bittorrent topik
- Tudományos Pandémia Klub
- Eléggé lekorlátozza az NVLink Fusiont az NVIDIA
- Óra topik
- További aktív témák...
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Gyermek PC játékok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Csere-Beszámítás! Sapphire Pure RX 7700XT 12GB GDDR6 Videokártya! Bemutató Darab!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- MSI CYBORG 15 A13V
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged