-
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
-
Aladaar
tag
válasz Lasersailing #32202 üzenetére
Igen, tényleg egyszerűbb lenne, de év közben már nem válthatunk, meg amúgy sem az én jogköröm eldönteni.
-
Lasersailing
senior tag
válasz Lasersailing #32264 üzenetére
Na szóval a végleges (A vastagonszedést programkód közben nem igazán értelmezte, ami így utólag érthető... Elnézést!):
Sub redharlow()
Dim sor As Integer
Dim oszlop As Integer
Dim ujsor As Integer
Dim sn As String
'program
sor = 1
sn = ActiveSheet.Name
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "eredmeny"
ujsor = 1
'fejlécet
Sheets("eredmeny").Cells(1, 1) = "Név"
Sheets("eredmeny").Cells(1, 2) = "C oszlop"
Sheets("eredmeny").Cells(1, 3) = "D oszlop"
Sheets("eredmeny").Cells(1, 4) = "E oszlop"
Sheets("eredmeny").Cells(1, 5) = "Dátum"
Sheets("eredmeny").Cells(1, 6) = "Ft"
Do
sor = sor + 1
For oszlop = 7 To 66
If Not (IsEmpty(Sheets(sn).Cells(sor, oszlop))) Then
ujsor = ujsor + 1
Sheets("eredmeny").Cells(ujsor, 1) = Sheets(sn).Cells(sor, 2)
Sheets("eredmeny").Cells(ujsor, 2) = Sheets(sn).Cells(sor, 3)
Sheets("eredmeny").Cells(ujsor, 3) = Sheets(sn).Cells(sor, 4)
Sheets("eredmeny").Cells(ujsor, 4) = Sheets(sn).Cells(sor, 5)
Sheets("eredmeny").Cells(ujsor, 5) = Sheets(sn).Cells(1, oszlop)
Sheets("eredmeny").Cells(ujsor, 6) = Sheets(sn).Cells(sor, oszlop)
End If
Next oszlop
Loop Until IsEmpty(Sheets(sn).Cells(sor, 1))
End Sub -
RedHarlow
aktív tag
válasz Lasersailing #32265 üzenetére
Köszönöm, a második működik és pontosan így gondoltam. Ezer hála! : )
-
Aladaar
tag
válasz Lasersailing #32204 üzenetére
Valaki lenne olyan kedves átírni a következő képletet nem tömbfüggvényesre?
köszi,
A.{=HA($B2>=0;B2*C2;-(MAX(HA($E$2:$E2<-SZUMHA($B$2:$B2;"<0");$F$2:$F2))
-(SZUMHA($B$2:$B2;"<0")+MAX(HA($E$2:$E2<-SZUMHA($B$2:$B2;"<0");$E$2:$E2)))
*INDEX($C$2:$C2;HOL.VAN(MIN(HA($E$2:$E2>=-SZUMHA($B$2:$B2;"<0");$E$2:$E2));$E$2:$E2;0))
+SZUMHA(OFSZET(D2;-1;0;-SOR(D2)+1;1);"<0")))} -
Delila_1
Topikgazda
válasz Lasersailing #33275 üzenetére
range(cells(20, "L"), cells(opsm, "L")), vagy
range(cells(20, 12), cells(opsm, 12)), vagy
range("L20:L" & opsm)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Lasersailing #33279 üzenetére
Nincs mit.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Lasersailing #33351 üzenetére
Egyszerűbb lenne a NAGY (LARGE) függvénnyel. Most formázol a függvénnyel, majd a makróban visszaszámolod a formázás eredményét.
Sub NyolcNagy()
Dim i As Long, sor As Byte
sor = 43
For i = 1 To 8
Sheets(2).Cells(sor + i, "M") = Application.Large(Sheets(1).Columns(2), i)
Next
End Sub[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz Lasersailing #33351 üzenetére
Szia!
A feltételes formázás alapján színezett cellák tényleges formátumát a 2010-es Exceltől meg tudod nézni a DisplayFormat tulajdonsággal,
If ActiveSheet.Cells(sm, 44).DisplayFormat.Color=ActiveSheet.Cells(sm,44).FormatConditions(1).Interior.Color Then
megvizsgálja, hogy a cella tényleges színe egyezik-e a feltételes formázásban megadott színnel.
A feltételeid azt vizsgálják, hogy milyen a cella feltételes formázása, ezért viselkedik úgy, ahogy írtad.
Üdv.
-
Fferi50
őstag
válasz Lasersailing #33351 üzenetére
Szia!
Az előző hozzászólásom hibás volt, kimaradt belőle az interior egy helyen.
A feltételes formázás alapján színezett cellák tényleges formátumát a 2010-es Exceltől meg tudod nézni a DisplayFormat tulajdonsággal,
If ActiveSheet.Cells(sm, 44).DisplayFormat.Interior.Color=ActiveSheet.Cells(sm,44).FormatConditions(1).Interior.Color Then
megvizsgálja, hogy a cella tényleges színe egyezik-e a feltételes formázásban megadott színnel.
A feltételeid azt vizsgálják, hogy milyen a cella feltételes formázása, ezért viselkedik úgy, ahogy írtad.
Üdv.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz Lasersailing #33355 üzenetére
Ha a sor kell, akkor
Sub NyolcNagySora()
Dim i As Byte, sor As Byte
sor = 43
For i = 1 To 8
Sheets(2).Cells(sor + i, "M") = _
Application.Match(Application.Large(Sheets(1).Columns(2), i), _
Sheets(1).Columns(2), 0)
Next
End Sub[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
huan
őstag
válasz Lasersailing #40512 üzenetére
Szia
Ezzel az a bajom csak, hogy nem a legutolsó B-oszlop dátumom lesz a C-oszlop mindegyikénél, ahol azonos A-oszlopelemek vannak.
(a képen C1>C5-ig B4 van; C6>C13-ig C13 van) -
huan
őstag
válasz Lasersailing #40514 üzenetére
Nem, én értettem félre.
Majdnem tökéletes, annyiban kellene még módosulnia, hogy pl. amikor a B5-ben üreset talál, ne az egész C1>C5-ig 1900.01.00-legyen, hanem az utolsó nem üres B-oszlop tartalom, azaz 2018.10.04.
Mit pl. a B14 vagy B15-ben nincs dátum, ott természetesen 1900.01.00 is jó. -
Ronyman
aktív tag
válasz Lasersailing #40540 üzenetére
Nem teljesen értem, de lehet én felejtettem ki egy fontos dolgot.
Tehát Beosztás munkalap így néz ki
A oszlop : NÉV
B oszlop: Munkakör
C oszlop: munkaidő (kinek hány órát kell dolgozni)D oszlop: munkaidő kezdete
E oszlop: munkaidő vége
F oszlop: pihenőidő
G oszlop:üres
H oszlop: napi ledolgozott órák számaA "D" oszloptól "H" oszlopig naponta ismétlődik.
Az első név az "A7" cellában van.
Jelenléti ív munkalap
A oszlop: Napok felsorolása
B oszlop:munkaidő kezdete
C oszlop: munkaidő befejezése
F oszlop: ledolgozott napi munkaidőAz első nap 03.01. az "A4"-es cellától kezdődik.
Eddig azt a képletet használtam: "B4" cellában ez volt írva
=FKERES(B$1;beosztás!A$7 : FH$25;4;0)
Na de akkor ezt a képletet hogy kellene átalakítanom, hogy másolhatóvá tegyem a képletet?
[ Szerkesztve ]
-
Bocimaster
csendes tag
válasz Lasersailing #40571 üzenetére
- végül is egynek nagyon jó köszi - de ha még van 2-3 ilyen 34000+ sorom - lehúzni is sok
De köszönöm, és már meg is csináltam, amit mondtál.
Az ösztön mindig többet ér az észnél.
-
Lasersailing
senior tag
válasz Lasersailing #40587 üzenetére
Bocsánat most nézem, hogy a képlet bemásolása nem sikerült:
=even(row())=row()
-
sztanozs
veterán
válasz Lasersailing #40588 üzenetére
Miért kell az
=row()
az=even(row())=row()
végére?JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Delila_1
Topikgazda
válasz Lasersailing #40588 üzenetére
=párose(sor()) és =páratlane(sor())
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
sztanozs
veterán
válasz Lasersailing #40592 üzenetére
Pff, összekevertem az even-t az iseven-nel
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
dgyuri50
újonc
válasz Lasersailing #40673 üzenetére
Köszi a választ!
Ezt végigcsináltam, de nem segített.
Valami más a gond sajnos. -
oke
senior tag
válasz Lasersailing #40707 üzenetére
Szia!
Kicsit megfordítom, hátha így jobban érthető:
A példából kiindulva:
Attila a 1111 és 1112 irányítószám alatt végez Mázolást
Géza a 1111, 1112 és 1113 irányítószám alatt végez festést és a 1112-ben tapétázást stb
Ezek vannak a segédtáblában.Az "A" és a "B" oszlop a fő tábla, ahová a "C" oszlopba kell hozzárendelni a segédtábla segítségével.ki is a munkavégző. Azt a csatolt képen meg is van oldva összetűzéssel, látszik a szerkesztőlécen a függvény.
Amivel gondom van az a segédtábla kialakítása. Ha a példában látható módon szeretném hozzárendeléseket elvégezni, az emberkéket a tevékenység+irányítószám pároshoz hozzárendelni, akkor rengeteg variációt kellene elvégeznem, mivel a tényleges táblában 300 féle feladat 100 irányítószám és 20-30 ember van.Tehát hogy a valóságban meg tudjam állapítani, hogy Attila végzi e az adott munkát az adott irányítószám alatt- feltételezve, hogy ő 50 típusú feladatot végez mind a 100 irányítószám alatt - 50*100 sort kellene felvennem a segédtáblába. Ezt hogy lehetne egyszerűsíteni.
[ Szerkesztve ]
-
bexinho23
őstag
válasz Lasersailing #40795 üzenetére
Szia!
Valóban ez az oka az eltérésnek. Köszönöm.
-
Bacusuz
őstag
válasz Lasersailing #41046 üzenetére
mindenkinek köszönöm a segítséget, végül sikerült.
A 2 táblázatban ugyan azt a szűrőket állítottam be, ezért nem olyan válaszokat kaptam amiket szerettem volna.
szóval köszi még 1x , sokat segítettetekÜDV! Bacusuz. Veszélyes környéken lakom. Ahányszor becsukom az ablakot, mindig odacsukom valaki kezét.
-
gyulazsolti
senior tag
válasz Lasersailing #41934 üzenetére
Szia!
A megoldás végül az lett, hogy megint letöröltem az office-t.
A hiba: 1907-re az volt a megoldás, hogy be kellett, menni a betűkészletbe, és mindet engedélyezni. Volt pár ami nem volt engedélyezve.
Utána feltettem a 2013-as 64-bites verziót.
Hiba nélkül fel ment.
Csináltam egy másik táblát, átmásoltam bele mindent.
Most hiba nélkül megy. Katt, 2 másodperc és előttem van a tábla.
Remélem marad is így.Amit írtál, kipróbáltam, /visszabányáztam a kukából/ de nem segített.
Az a tábla lassan tölt be továbbra is.
Köszönöm szépen. -
bucihost
senior tag
válasz Lasersailing #41988 üzenetére
Köszönöm! Ez alapján már eltudtam indulni, és működik is.... Felhasználtam egy Műszak + túlóra pótlék számításhoz is. Gyönyörű képlet született belőle
=HAHIBA(HAELSŐIGAZ(G4=1;HA(F4>2;2*$G$1*1,5+(F4-2)*$G$1*1,75;F4*$G$1*1,5);G4=2;HA(F4>2;2*$G$1*2+(F4-2)*$G$1*2,25;F4*$G$1*2);G4=3;HA(F4>2;2*$G$1*2+(F4-2)*$G$1*2,25;F4*$G$1*2));)
-
Lasersailing
senior tag
válasz Lasersailing #42902 üzenetére
Eszembe jutott a DoEvents (közvetlenül a statusbar frissítés után), úgy tűnik, ez most megoldja a problémát!
-
allein
addikt
válasz Lasersailing #42923 üzenetére
Amikor email címeket keresek ugyanezzel a függvénnyel, akkor is egész táblázatra nyomok rá. De mostani esetben én is látom valami nem jó.
http://phmegbizhatosag.atw.hu/phtabla.php?nev=allein
-
Sanyus81
újonc
válasz Lasersailing #42925 üzenetére
Köszönöm a tippet, de sajna ez sem működik :/
-
torrentwarez
csendes tag
válasz Lasersailing #42969 üzenetére
Köszönöm, figyelmetlen voltam... nem tudtam, hogy az 5. lépésnél mindegyik oszlopot külön lehet illetve kell beállítani, hogy milyen cella formátuma legyen!
Így már jó lett!
-
torrentwarez
csendes tag
válasz Lasersailing #42969 üzenetére
Köszönöm, megoldódott!
-
Colin111
csendes tag
válasz Lasersailing #43020 üzenetére
néztem, excel 100% processzor foglaltságot okozott
-
Delila_1
Topikgazda
válasz Lasersailing #43342 üzenetére
A beállításoknál ki van kapcsolva az automatikus számolás.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Lasersailing #43344 üzenetére
Erre. Most állítottad be, vagy így volt?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz Lasersailing #43342 üzenetére
Szia!
Nem lehet, hogy a cella formátuma szöveg? Nézd meg és állítsd át általánosra.
Üdv. -
Fferi50
őstag
válasz Lasersailing #43364 üzenetére
Szia!
Idd csak meg, egészségedre!
Megérdemled a vesződségek miatt.
Üdv. -
Weareus
addikt
válasz Lasersailing #46040 üzenetére
Úgy sem működik:
[link]
Azt nem vitatom, hogy elrontok valamit, de a függvény angolul van (már) és az Excel is angol.
Elgépelés nincs.
(Remélem).
Esetleg az lehet a baj, hogy az átalakítandó oszlop (ahol a vesszők vannak) már eleve egy függvény eredménye?
De ez csak találgatás...?[ Szerkesztve ]
Soul of the mind, key to life's ether. Soul of the lost, withdrawn from its vessel. Let strength be granted, so the world might be mended. So the world might be mended.
-
Weareus
addikt
válasz Lasersailing #46042 üzenetére
Elnézést kérek mindekitől. Lasersailing kollégának igaza van. Ha belekattintok az eredeti cellába, nem a vessző mögé áll a kurzor, hanem még eggyel tőle jobbra, ott tehát még egy szóköz is van.
Ezt figyelmen kívül hagytam.Ennek fényében szabad javaslatot kérni?
Kérlek, ne orroljatok rám, totálisan amatőr vagyok ebben.
[ Szerkesztve ]
Soul of the mind, key to life's ether. Soul of the lost, withdrawn from its vessel. Let strength be granted, so the world might be mended. So the world might be mended.
-
Weareus
addikt
válasz Lasersailing #46045 üzenetére
Köszi mindenkinek.
Megvan!
Notepad++-ban töröltem a sorvégi szóközöket (több is volt ), utána Delila_1 által adottal hibátlanuil ment.
Benéztem kicsit amúgy.Köszönöm a helpet.
Soul of the mind, key to life's ether. Soul of the lost, withdrawn from its vessel. Let strength be granted, so the world might be mended. So the world might be mended.
-
Fferi50
őstag
válasz Lasersailing #46075 üzenetére
Szia!
Érdemes egy mentést csinálni a hibás fájlról.
Ezután kézzel megnyitni, elmenteni az Excel által javított fájlt és azt megpróbálni megnyitni.
Itt valószínűleg nem a lekérdezésben van a hiba, hanem a fájl szerkezet "rongálódott meg". Az eredeti alkotó sem tudná megjavítani.
Esetleg meg kellene búvárkodni egy korábbi mentését a fájlnak.
Üdv. -
Delila_1
Topikgazda
válasz Lasersailing #46081 üzenetére
Egy próbát megér.
Nyiss egy új füzetet. Az A1 cellába írd be: =megnyitandó_füzet!A1
Természetesen útvonallal és lapnévvel együtt írd be a hivatkozást.
Az A1 hivatkozását jobbra, és le is másold, ameddig kell.Megnyitott (hibás) fájlnál elég a füzet és lap neve.
A képen a szerkesztőlécen az új füzet A1 cellájának a képletét látod.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
csferke
senior tag
válasz Lasersailing #46076 üzenetére
Esetleg ha nem akarsz N/A-kat látni, akkor:
=IF(ISBLANK(J1),"",VLOOKUP(J1,$R$1:$S$4,2,0))
kösziFferi50-nek is, de az előző megoldást választottam
-
mdk01
addikt
válasz Lasersailing #46093 üzenetére
Köszi, lényegében én is töröltem mindent, mert az "összes törlés" tudtommal a formázástól elkezdve mindent töröl.
-
Fferi50
őstag
válasz Lasersailing #46113 üzenetére
Szia!
Használhatod pl. a With kulcsszót:With Sheets("AP - modified").Cells(AP_sm, 26)
If .Value= Sheets("65M").Cells(2, 2) Or .Value= Sheets("65M").Cells(2, 3)) Or .Value = Sheets("65M").Cells(2, 4)) Or .Value = Sheets("65M").Cells(2, 5)) Or .Value = Sheets("65M").Cells(2, 6)) Or (s) Then
....
End If
End With
De érdekes lehet a következő is szerintem:If Not Range(Sheets("65M").Cells(2, 2),Sheets("65M").Cells(2, 6)).Find(What:=Sheets("AP - modified").Cells(AP_sm, 26).Value,lookIn:=xlValues,lookAt:=xlWhole) Is Nothing Then
Ez utóbbi akkor ad igaz értéket, ha megtalálja az adott cella értékét a másik tartományban.
Üdv. -
Weareus
addikt
válasz Lasersailing #46178 üzenetére
Igen, értem, köszönöm Lappynak is.
Az egybeírás más okok miatt lesz...
Pl. a bene placido helyett: abeneplacido.
És utána pontosvessző, majd szóköz és meghatározás (több szó).
Arra tudatosan figyelek, hogy a meghatározásokbnan már ne használjak több pontosvesszőt, mert nem akarom, hogy további oszlopok keletkezzenek. Két oszlop kell...
De szóval akkor így mehet...
Köszike.Soul of the mind, key to life's ether. Soul of the lost, withdrawn from its vessel. Let strength be granted, so the world might be mended. So the world might be mended.
-
RAiN91
őstag
válasz Lasersailing #46348 üzenetére
Köszönöm, ilyenre gondoltam!
-
Lasersailing
senior tag
válasz Lasersailing #46381 üzenetére
Most kicsit utána olvastam, az RMB a RENMIBI rövidítése, de ha jól értelmezem ez gyakorlatilag a CNY, amit viszont az MNB jegyez...
https://en.wikipedia.org/wiki/Renminbi
CNY-t meg jegyzi az MNB, így kérdés törölve. -
Delila_1
Topikgazda
válasz Lasersailing #47432 üzenetére
Lépésenként futtatva (F8) a hibát okozó sort sárgával kijelölve láthatod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Lasersailing #47434 üzenetére
Újra megnyitáskor kell lépésenként futtatnod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Lasersailing
senior tag
-
Lasersailing
senior tag
-
Lasersailing
senior tag
válasz Lasersailing #47436 üzenetére
Megpróbáltam az eredeti hozzászólásomban kigondolt megoldással, egy lépésben másolni a két adattartományt, majd lerendezni.
A gondom az, hogy a két forrásban nem azonos dátum formátum van használva (mindkettő egy rendszer outputja, tehát nem változtatható).
Az egyik dátumot felismeri, a másikat nem, így nem tudom lerendezni dátum szerinti sorrendbe. Ha a "rossz" dátumba F2-vel bemegyek, majd enter, akkor már rájön, hogy ez egy dátum. Hogyan tudom VBA-ban elmondani, hogy az adott cella egy dátum formátum?Jelenleg ezzel próbálkozom, de nem segít:
Sheets(TKE).Cells(tke_sm, 1).NumberFormat = "yyyy/mm/dd"
Új hozzászólás Aktív témák
- Milyen okostelefont vegyek?
- Politika
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- BestBuy topik
- Luck Dragon: Asszociációs játék. :)
- Suzuki topik
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Milyen cserélhető objektíves gépet?
- Milyen routert?
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Warhammer Online - Age of Reckoning (DE) Collectors Box (Figurával!)
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."