- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Aquaphor Modern víztisztító
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- eBay-es kütyük kis pénzért
- Elektromos rásegítésű kerékpárok
- sh4d0w: Árnyékos sarok
-
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
-
#90999040
törölt tag
válasz
Sziszmisz #13898 üzenetére
Ha a cikkszám az A oszlopban van, akkor igen.
If r.Value = "" Then -> itt vizsgálom, hogy a B oszlopban a cella üres-e.
Ha egy ilyen üres cellát talál a B oszlopban, akkor annak értékét eltárolja, és egészen addig ezt az értéket adja hozzá a B oszlop nem üres celláihoz, amíg a B oszlopban ismét nem talál üres cellát, akkor ezt tárolja el, és így tovább.
A táblázatnak nem szükséges az A1-ben kezdődnie, kezdődhet akár a D11-ben is....
Az elejére pedig így tudod hozzáfűzni:
r.Value = s & " " & r.Value -
Sziszmisz
csendes tag
válasz
#90999040 #13896 üzenetére
ez a verzió nekem így futott le helyesen:
Sub Modosit()
Application.ScreenUpdating = False
For Each r In ActiveCell.CurrentRegion.Offset(0, 1).Resize(columnsize:=1)
If r.Value = "" Then
s = Cells(r.Row, r.Column - 1).Value
Else
r.Value = r.Value & " " & s
End If
Next
Application.ScreenUpdating = True
End Subugyanis nekem a zölddel kijelölt rész a 3. sorban kezdődik, de most teljesen összezavartál, akkor mit kell módosítanom hogy megadjam hol kezdődik "zöld rész" és hogy "hányadik oszlophoz fűzze hozzá", ugyanis ez táblánként változik....
azt hogy az elejére fűzze és ne a végére azt be tudom valahogy állítani?
köszmösz
-
#90999040
törölt tag
válasz
Sziszmisz #13895 üzenetére
Akkor nézd meg ezt. Ebben már benne van a sorszámozás oszlopa is, valamint itt már nem a színezés számít, hanem, hogy üres-e a Terméktípus oszlpa.
Sub Modosit()
Application.ScreenUpdating = False
For Each r In ActiveCell.CurrentRegion.Offset(0, 2).Resize(columnsize:=1)
If r.Value = "" Then
s = Cells(r.Row, r.Column - 1).Value
Else
r.Value = r.Value & " " & s
End If
Next
Application.ScreenUpdating = True
End Sub -
#90999040
törölt tag
válasz
Sziszmisz #13891 üzenetére
Igazából a tartomány bárhol lehet, a lényeg:
1: az a munkalap legyen kijelölve, ahol az adatok vannak
2: a kijelölt cella a tartományon belül legyen
3: az előbb említett elrendezés legyen. tehát:
ha pl. a sarokcella : B2(ennek színezetlennek kell lennie!!!), akkor az első színezett cella a B3-ban legyen, és a C oszlopot kell módosítani. Most látom, a sorszámozás oszlopát nem vettem figyelembe. Ez a sorszámozás a táblához tartozik?Egyébként, amik színezve vannak, azok a cellák egyesítettek az eredeti verzióban?
-
Sziszmisz
csendes tag
válasz
#90999040 #13890 üzenetére
Ühümmm, egyenlőre úgy tűnik akkor hogy ez lesz a nyerő, kipróbáltam lefut, itt ebben az elrendezésben tökéletes, istenkirály vagy. Viszont le tudnád nekem írni hogy mi a feltétele annak hogy ez működjön, például ahol a 4.-5. sorba kezdődik a táblázat ott mit kellene módosítanom hogy szintén lefusson? Vagy mi a feltétele annak hogy ez működjön a (színezésen kívül)? Ha jól értem a színezés alatti sor 2. cellájába fűzi hozzá, ezt akár tetszés szerint módosíthatom, vagy van ennek még több feltétele is?
Esetlegesen lehetne hogy az elejéhez fűzze és ne a végére? -
Sziszmisz
csendes tag
válasz
m.zmrzlina #13886 üzenetére
igen, csak a példákban más, de még mindig az előrébb huzogatás lenne a legegyszerűbb megoldás eddig.
kedves thee-től kaptam, de ez már komplexebb problémát ölel fel, csak nem akartam regényt írni:
http://data.hu/get/5139947/arlistarendezo_cst03.xls -
#90999040
törölt tag
válasz
Sziszmisz #13881 üzenetére
Ezt próbáld ki. De először ne élesben!!!
Sub Modosit()
Application.ScreenUpdating = False
szin = ActiveCell.CurrentRegion.Cells(2, 1).Interior.Color
For Each r In ActiveCell.CurrentRegion.Offset(0, 1).Resize(columnsize:=1)
If r.Interior.Color = szin Then
s = Cells(r.Row, r.Column - 1).Value
Else
r.Value = r.Value & " " & s
End If
Next
Application.ScreenUpdating = True
End SubElindításkor bármelyik cella ki lehet jelölve, csak az a fontos, hogy az adattáblán belül legyen a kijelölés.
-
Sziszmisz
csendes tag
válasz
m.zmrzlina #13882 üzenetére
Woww, ez így jól hangzik, kezdésnek nagyon jó, de még így is napokba/hetekbe telne mire a teljes adatbázisunk, összes exelét egyesével kijelölgetném. Nincs erre bármiféle automatizálás, hogy valami alapján felismerje mit kell hozzáfűzni??
köszönöm: Sziszmisz
Válasz: Sajnos ez teljesen változó.... ezért gondolkodtam az egy oszloppal előrébb kihúzásban és erre tanácsolták nekem azt hogy egy ha="" feltétellel megcsinálhatnám(persze ezt beleágyazva a már megcsinált összefűz függvényembe), csak azt nem tudom hogyan definiálhatnám hogy a legutóbbi nem üres cellát fűzze hozzá.
De ez csak egy ötlet, bármire vevő vagyok
-
m.zmrzlina
senior tag
válasz
Sziszmisz #13878 üzenetére
Kicsit gyorsabb megoldás, ha bemásolod új modulba a következő makrót:
Sub hozzafuz()
For Each cella In Selection.Cells
cella.Value = cella.Value & " " & ActiveCell.Offset(-1, -1).Value
Next
End SubKijelölöd azt a tartományt amelynek minden eleméhez hozzá szeretnéd fűzni a leírást majd elindítod a makrót. Az ActiveCell.Offset(-1, -1) határozza meg, hogy a kijelölés legfelső cellájához képest (jó esetben ez az aktív cella) hol helyezkedik el az a cella aminek a tartalmát minden kijelölt cella tartalmához hozzá kell fűzni. A példabeli esetben 1 sorral felette és tőle egy oszloppal balra.
Kérdés: Minden termékcsoport (zöld cellák közti tartomány) pontosan 9 elemből áll mint a példában van?
-
Sziszmisz
csendes tag
válasz
m.zmrzlina #13880 üzenetére
Köszönöm a segítséget, de itt nem pár darab, hanem excelenként több ezer sorról és rengeteg excelről van szó, valamiféle automatizálást szeretnék erre kitalálni, amit a már meglévő függvényeimbe tudnék beágyazni, mert nem csak ennyi a probléma. Esetlegesen még arra gondoltam kihúznám a hozzáfűzendő értékeket mauálisan egy oszloppal előrébb.
Lényeg az lenne hogy mindig az aktuális szöveget fűzze hozzá az alatta lévőkhöz. Remélem sikerült érthetően lekaparnom....
-
m.zmrzlina
senior tag
válasz
Sziszmisz #13878 üzenetére
A sor és oszlopazonosítók ugyan nem látszanak a képen de tegyük fel, hogy a Terméktípus a C oszlopban van és a következő üres oszlop a G valamint az első zöld cella B3
Ez esetben a G4 képlete:
=C4 & " " & $B$3
Ezt le tudod másolni ameddig szükséges (a következő zöld sorig) majd kijelölöd G4-G12-ig és csak az értéket beilleszted a C oszlopba.
-
Delila_1
veterán
válasz
m.zmrzlina #13876 üzenetére
Azért tettem csillagot a hol.van függvény feltételének az elejére is.
Kiegészítheted az INDEX függvénnyel:
=INDEX(H:H;HOL.VAN("*"&BAL(I1;2)&"*";H:H;0);1)
ami az I mellé írja a H oszlopban lévő megfelelőjét, de mint írtam, nem lesz teljesen jó, csak ad némi támaszt.
-
m.zmrzlina
senior tag
válasz
Delila_1 #13875 üzenetére
Ha jól értem a képletet akkor:
Melyik a sora annak a cellának,
-amiben lévő szöveg kezdődik valamivel
-azután jön a keresett szó első két betűje
-végül befejeződik valami mással.Sajnos ilyen szempontból rossz a példám (bocs
) mert a nem odaillő karakterek bárhol lehetnek a keresendő szóban akár a legelején is.
-
Delila_1
veterán
válasz
m.zmrzlina #13874 üzenetére
Valami ilyen segíthet, de nem 100%-os:
=HOL.VAN("*"&BAL(I1;2)&"*";H:H;0)
Ahol az I oszlopban nincs adat, ott 1-et ír találati helynek.
-
m.zmrzlina
senior tag
A H oszlopban szeretném megkeresni az I oszlop elemeit.
Képünk csak illusztráció
lényeg, hogy az adatbázis elemei és a keresett szavak közt néhány karakter eltérés lehet de attól még egyeznek.
-
Igen működik az F9-el az újragenerálás. Amúgy 2007-et használok mert az van meg legálisban.
-
-
thee
csendes tag
válasz
Fire/SOUL/CD #13862 üzenetére
Fura, nekem működik.
Data.hu-val eddig nem volt gondom... Esetleg tudsz ajánlani helyette egy jobb oldalt?
-
-
válasz
VANESSZA1 #13859 üzenetére
Azt nem tudom, hogy miért jelenik meg Nálad a #NÉV, de végül is mindegy, mert thee megoldása (segítőszándéka ellenére) sajnos nem kezeli le, hogy 2x (vagy többször) ne fordulhasson elő ugyanaz a szám.
Nem kellett sokszor újraszámoltatni, hogy előjöjjön a hiba: 2x "húzta ki" a 20-as számotMakró nélkül annyit lehet tenni, hogy E3/F3/G3/H3/I3 cellákba az alábbi képlet kerüljön
=VÉLETLEN.KÖZÖTT($B$3;$B$92)
majd ezt követően pl a J3 cellába meg ez (ez ellenőrzi, hogy csak 1x lehessen 1 szám)
=HA(DARABTELI($E$3:$I$3;$E$3)+DARABTELI($E$3:$I$3;$F$3)+DARABTELI($E$3:$I$3;$G$3)+DARABTELI($E$3:$I$3;$H$3)+DARABTELI($E$3:$I$3;$I$3)=5;"Rendben, 5 különböző szám";"Egyik szám többször fordul elő, nyomjon F9-t!")
-
-
thee
csendes tag
Lenne nekem is egy kérdésem:
A megnyitott fájl nevét ("InpFileName") csak elérési úttal együtt szerepelt a változóban, csak a fájl nevét így tudtam kibányászni:
Set fs = CreateObject("Scripting.FileSystemObject")
InpFileName = Application.GetOpenFilename("NASTRAN result file(*.pch), *.pch")
' Nev kiiratas a munkalapra
CounterFN = 0
Pch1OpenFileName = InpFileName
LenPch1OpenFileName = Len(Pch1OpenFileName)
Do While CounterFN < LenPch1OpenFileName
Pch1OpenFileNameReverseT = Mid(Pch1OpenFileName, LenPch1OpenFileName - CounterFN, 1)
Pch1OpenFileNameReverse = Pch1OpenFileNameReverse & Pch1OpenFileNameReverseT
CounterFN = CounterFN + 1
Loop
Pch1FileName = Mid(Pch1OpenFileName, LenPch1OpenFileName - Application.WorksheetFunction.Find("\", Pch1OpenFileNameReverse) + 2, Application.WorksheetFunction.Find("\", Pch1OpenFileNameReverse) - 1)
Range("a4").Value = Pch1FileNameTudnátok erre egy elegánsabb megoldást ajánlani?
-
Ha jól tudom, van Excel-ben véletlen szám generátor. Lehet ezt valahogy lottószám generátorrá átalakítani? Pl.ötöslottó, és hatoslottó számgenerátorra gondolok.
-
hybrid26
tag
Üdv.
Office 2007 -et használok, de lenne egy apró problémám. ha 0 - 9,5 -ig írok a mezőbe addig jó, de 10 felett valamerre mindig kerekít. Én viszont nem szeretném hogy kerekítsen
Aztán ha egy cellát szeretnék szum -mal összesíteni az is megy, csak hogy az is kerekít, de azt sem szeretném
Példa :
2,5
+
4
= 7 (ez nem hét, hanem csak 6,5, nem akarom hogy kerekítsen)Másik példa :
11,5 (ezt írom, de 12 -re átjavítja, pedig nem kellene)
+
8 (ez ugye 19,5 lenne, csakhogy ez is kerekít, így 20 az eredmény)Már idegbajt kapok tőle, valaki tudja mi a megoldás?
Válaszokat előre is köszönöm -
cousin333
addikt
válasz
terencehill #13847 üzenetére
Azt kérdezted, hogy az E oszlopbeli listát hogyan tudod legenerálni. Megírtam. Azt nem mondtam, hogy piszkáld az A-B oszlop táblázatát.
Tehát tulajdonképpen létrehozod az E oszlopos listát a fenti módszerrel, majd használod a függvényt az F oszlophoz, amint már korábban megírtam (a SZUMHA-t). Ez nem veszi figyelembe a szövegeket, tehát ha két azonos kódhoz egy szám és egy szöveg tartozik, akkor értelemszerűen csak a számot "adja össze".
-
válasz
terencehill #13845 üzenetére
Áhhh...
Bocsesz, hibakezeléssel szórakoztam, aztán elbaszarintottam a dolgot, azért olyan hosszú a D2 képletet, ráadásul tömbképlet is felesleges....
Szóval D2-be
=HA(C2="";"";SZUMHA($A$2:$A$7;C2;$B$2:$B$7))
Ezt meg lemásolod, ameddig C oszlopban vannak adatok (de addig is lemásolhatod, ameddig A oszlopban vannak adatok), mindegy.
Még egyszer elnézést...
-
terencehill
tag
válasz
cousin333 #13846 üzenetére
a lista nem változik de nem azt akarom hogy amiből 2 van az törölni vagy ilyesmi hanem a lényeg:
hogy van egy oszlopom amibe kódok vannak, mindegyik kód 2 szer szerepel és mellettük egy ár (b oszlopba)és ezt szeretném szummázni/ kilistázni
tehát mondjuk
1. kód = 5000
2.kód = 6000
1.kód= 400
2.kód: 600és akkor listázza ki hogy 1.kód 5400 2.kód 6600 ..és így tovább ás van olyan kód ami mellé olyan szöveg van "nincs ár "
-
cousin333
addikt
válasz
terencehill #13845 üzenetére
Ha nem változik túl gyakran a lista, akkor szerintem nem kell erőltetni a képleteket, mert eléggé lassúak is lehetnek, és, mint a mellékelt ábra mutatja, csak a gond van velük. A képeid alapján 2007-et vagy 2010-et használsz.
Egyszerűen másold ki a lista elemeit a "Sorszám" részből (a példádban A2:A4) mondjuk az E oszlopba.
Jelöld ki őket, majd az Adatok fülön az Adateszközök csoportban használd az Ismétlődések eltávolítása funkciót.
Ha kell, akkor megfejelheted egy sorba rendezéssel is.
-
terencehill
tag
válasz
Fire/SOUL/CD #13844 üzenetére
köszi az első része így sikerült és a második is csak az a problémám hogyha hozzá rakok mondjuk még 2 sort és a képletet átírom így:
=SZUM(HA(HA(HOL.VAN($A$2:$A$6; $A$2:$A$6; 0)=(SOR($A$2:$A$6)-SOR(A2)+1); (SOR($A$2:$A$6)-SOR(A2)+1); 0)<>0; $B$2:$B$6; ""))tehát ahol A4 volt oda A6 ahol B4 oda B6-ot akkor megint csak összeadja
(478 soros a konkrét táblázatom hátha ez kell hozzá ) -
válasz
terencehill #13843 üzenetére
1. Ne beírd, hanem másold be a PH!-s hozzászólásomból a képletet (egyszerűbb is, meg úgy legalább nem lehet elhibázni a dolgot, főleg ilyen hosszabb/összetettebb képlet esetén)
2. A CTRL+SHIFT+ENTER-t nem használtad(csak így lehet tömbképletet bevinni), mert a cella képlete "kacsacsőrű" zárójelek közé kell, hogy kerüljön, és Nálad jól látszik képen, hogy ez nem történt meg.Lépésről-lépésre: A korábbi hozzászólásomban egérrel kijelölöd a C2 cella képletét, jobb egér/másol, Excel-ben C2 cellára állsz, megnyomod az F2-t, jobb egér/beillesztés és CTRL+SHIFT+ENTER. Ugyanezt eljátszód a D2 cellába kerülő képlettel is.
-
terencehill
tag
válasz
Fire/SOUL/CD #13842 üzenetére
-
válasz
terencehill #13839 üzenetére
C2 cellába
=HAHIBA(INDEX($A$2:$A$4;HOL.VAN(0;DARABTELI($C$1:C1; $A$2:$A$4);0));"")
majd CTRL+SHIFT+ENTER és lemásolod a C2 cellát, amíg A és B oszlopban vannak adatok
D2 cellába
=SZUM(HA(HA(HOL.VAN($A$2:$A$4; $A$2:$A$4; 0)=(SOR($A$2:$A$4)-SOR(A2)+1); (SOR($A$2:$A$4)-SOR(A2)+1); 0)<>0; $B$2:$B$4; ""))
majd CTRL+SHIFT+ENTER és lemásolod a D2 cellát, amíg C oszlopban vannak adatok
Mindez képben: [link]
-
terencehill
tag
válasz
cousin333 #13840 üzenetére
[A képen lévő példával élve kell egy listát csinálnod az előforduló sorszámokról (mint nálad az E4 és E5 cellákban).]
és ezt milyen függvénnyel tudnám megcsinálni? darabtelire gondoltam így korán reggel de az csak megszámolja hogy hány van belőle de nem listázza ki hogy mik a lehetséges sorszámok
-
cousin333
addikt
válasz
terencehill #13839 üzenetére
A képen lévő példával élve kell egy listát csinálnod az előforduló sorszámokról (mint nálad az E4 és E5 cellákban). Ekkor az F4 cellába ez kerüljön:
=SZUMHA($A$2:$A$4;E5;$B$2:$B$4)
Az első és a harmadik elem fixen a listád, a középső elem ("E5") meg az aktuálisan hivatkozott sorszám. Ezt a függvényt aztán kiterjesztheted a következő sorokra is.
-
-
cirkus
aktív tag
hogy tudom változtatni az oszlopot sorrendjét, felcserélni őket??
-
hallgat
csendes tag
válasz
Delila_1 #13834 üzenetére
Köszönöm!
Látszik, hogy láma vagyok, még a kérdést sem tudom rendesen megfogalmazni.
A Munka2 L oszlopának második sorától az utolsó adatot tartalmazó sorig (a táblában, nem L oszlopban vannak adatok más oszlopokban) szeretném bemásolni transzponálva Munka1 B1:T1 értékeit.
Munka2 L oszlopa üres, az A oszlop az, ami üres sor nélkül folyamatosan adatokat tartalmaz az utolsó sorig. Ezért gondoltam, hogy az usort onnan definiálom.
Ha A oszlop az 500. sorig tartalmaz adatot, akkor L oszlopba is az 500. sorig kellenének transzponáltan másolva az adatok Munka1 Bi:T1-ből.Tehát usorként nem L oszlop utolsó sora az érték, hanem A oszlop utolsó sora és L-ben is eddig kellenek az adatok.
Bocsánat, a pontatlanságomért (és csak remélem, hogy most jól írtam le.)
Köszi!!
-
Delila_1
veterán
válasz
hallgat #13831 üzenetére
Ha a Munka2 lap L oszlopának az aljára akarod bemásolni ismételten a Munka1!B1:T1 tartományát, akkor az usor változót ehhez kell igazítani.
Sub mm()
Dim usor As Integer
'Munka1!B1:T1 másolása a Munka2!L2-be transzponálva
Sheets("Munka1").Range("B1:T1").Copy
Sheets("Munka2").Select
Range("L2").Select
Selection.PasteSpecial Paste:=xlValues, Transpose:=True
'usor az L oszlopban a Munka2 lapon
usor = Range("L65536").End(xlUp).Row
'másolás az utolsó alatti sorba, transzponálva
Range("L" & usor + 1).Select
Selection.PasteSpecial Paste:=xlValues, Transpose:=True
End Sub -
Delila_1
veterán
válasz
hallgat #13831 üzenetére
Ha a Munka2 lap L oszlopának az aljára akarod bemásolni ismételten a Munka1!B1:T1 tartományát, akkor az usor változót ehhez kell igazítani.
Sub mm()
Dim usor As Integer
'Munka1!B1:T1 másolása a Munka2!L2-be transzponálva
Sheets("Munka1").Range("B1:T1").Copy
Sheets("Munka2").Select
Range("L2").Select
Selection.PasteSpecial Paste:=xlValues, Transpose:=True
'usor az L oszlopban a Munka2 lapon
usor = Range("L65536").End(xlUp).Row
'másolás az utolsó alatti sorba, transzponálva
Range("L" & usor + 1).Select
Selection.PasteSpecial Paste:=xlValues, Transpose:=True
End Sub -
hallgat
csendes tag
válasz
hallgat #13831 üzenetére
Ami számomra még furcsa, hogy ha makró rögzítővel kézzel megcsinálom a műveletet és ezt illesztem be a kódba, akkor ugyan az marad a szintaktika, csak a
Range("L21:L" & usor).Select
helyett a jelenlegi adatok mennyisége miatt ez lesz:
Range(L21:L286).Selectami szintén nem fut le, ugyan ennél a sornál leáll.
Pedig ezt a sajár makrórögzítője csinálta -
hallgat
csendes tag
válasz
Delila_1 #13826 üzenetére
Sikerült kipróbálnom, de sajnos nem működik.
Ez a programrész most:usor = Range("A1").End(xlDown).Row
Sheets("Munka1").Activate
Range("B1:T1").Select
Selection.Copy
Worksheets("Munka2").Activate
Sheets("Munka2").Range("L2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
Selection.Copy
Range("L21:L" & usor).Select
ActiveSheet.PasteMunka1-ről áthozza az adatokat Munka2 L2:L20 részébe, be is másolja transzponálással, ki is jelöli, látszik, hogy ki is teszi vágólapra, de itt leakad. A Debug pedig annál a sornál áll, ami kijelölné L21:Lusor területet.
Lehet nem is szintaktikai a hibám, hanem a logikai felépítéssel van a gond.
Elvesztettem a fonalat...
-
hallgat
csendes tag
-
-
válasz
lacasd #13820 üzenetére
Ezt a feladatot 2 módszerrel lehet kivitelezni, az egyik, a mappabejárással(végigszaladni a mappaszerkezeten az adott fájlokat megnyitni, majd átmásolni a megfeleő cellákat9, a másik módszer meg az, ha a makró külső cellahívásokat generálja le. Ez utóbbi az egyszerűbb, én most ezt választom inkább, meglátjuk bírja-e a géped (hisz többszáz külső hivatkozást fog elhelyezni az adatok.xlsx-be)
Viszont lenne pár dolog
1. "2011okt, 2011nov, 2011dec, ..., 2012maj"
A 2012maj arról lemaradt az ékezet, vagy tényleg ez a neve a mappának?
Kérdem azért, mert az Excel rövid formátumban így tárolja a hónapokat: [link]
(Akkor még ehhez is kell külön kód, hogy átalakítsa)2. "Ugyanakkor 2012.01.01-től a GAL filenvű fileokból az L5,L6,L7,L8,L9 cellákat az adatok.xlsx H,I,J,K,L oszlopába kell másolni."
Ez úgy értendő, hogy csak és kizárólag 2012 évi dátumok esetén kellenek a plusz cellák, avagy jövőre is? (Feltételezem H5/I5/J5/K5/L5 cellák értendők itt is)3. melyik nap legyen az utolsó nap, az épp aktuális nap, vagy az egyel előtti?
(Lehet, hogy aznap még nincsenek kész a GM4 és GAL fájlok) -
Sziszmisz
csendes tag
ehhez makró se kell, csak egyszerűen használd a helyette függvényt:
=HELYETTE(A1;"06";"+36")
avagy
a kívánt cellákon jobbklick-cellaformázás-egyéni és ott annyi 0-t írsz be ahány számjegyet akarsz hogy kiirjon és 0-kal feltölti a szám elejét.
avagy
levágsz 1 karaktert, így: =JOBB(A1;HOSSZ(A1)-1)- a 6os eltűnik az elejéről, majd az összefűz függvénnyel hozzáfűzöd az elejéhez a +36-ot.
remélem sikerült értelmesen lekaparnom, csak közbe dolgozom
-
retes
aktív tag
Sziasztok!
Segítséget szeretnék kérni abban, hogy adott egy Excel tábla. Az egyik oszlopban telefonszámok vannak, a telefon sajnos allergiás a 06-kezdetre és ezért hiába van benne a névjegyzékbe a szám névvel mikor hív csak a +36xxxxxxx számot írja ki. A megoldás az lenne, hogy minden számot át kéne írni +36-ra. Szóval a kérdés az lenne, hogy miképp lehet megoldani, hogy az Excelbe exportált számokat úgy írja át, hogy csak az első két 06os karaktert cserélje le +36-ra.
Bocsi, hogy ennyire nagyon körülményesen írtam le, de 900 név felett inkább kell egy jó megoldás mint sem a favágómunka...
Előre is nagyon köszönöm mindenkinek a segítséget!
Retes
-
hallgat
csendes tag
válasz
Delila_1 #3014 üzenetére
"Másik módja az utolsó sor, ill. utolsó oszlop megkeresésének, arra az esetre, ha a lapon több, egymástól üres sorokkal, oszlopokkal elválasztott adataink vannak:
Kiválasztjuk egy olyan oszloponak az első celláját, amelyikben biztosan folyamatosan vannak az adatok, pl. A1.
Range("A1").Select
Selection.End(xlDown).Select ' ez azonos azzal, mint amikor Ctrl+le-nyilat nyomunk
usor = Selection.Row"
-------------------------------------------------------------------
Sziasztok!Nem egy mai bejegyzése Delilának de éppen ezen vagyok elakadva.
Ha ilyen módon megkerestem az utolsó használt sort, akkor mi a szintaktikája, hogy az "usor" értékét felhasználjam egy másik oszlopban?
Mondjuk munkalap1 B1:T1 celláit (19 cella) transzponálással másolja be munkalap2 B oszlopába a 2. sorától az utolsó soráig kijelölt területre, ismételgetve (ha 190 sor, akkor 10x. Elvileg mindig kijön egészre a sorok száma / 19)Előre is köszönet!!
-
lacasd
csendes tag
válasz
Fire/SOUL/CD #13818 üzenetére
Egy PLC logolja ezt, és negyedórás adatgyűjtés van, majd a táblázat tetején szummáz, és ez a szumma érték kell nekem.
Igen sztem is meg kellett volna csinálni, de rám osztották ezt a nemes feladatot manuálisan, mint biorobotra. GAL és GM4 cellakiosztása nem egyforma, GAL-ban több cucc van. -
gyga
senior tag
válasz
Fire/SOUL/CD #13818 üzenetére
Köszi törölve.
-
Ha valóban üres és nincs rá szükség a personal.xlsb, akkor először az adott munkafüzet-ben töröld a makrók közül, mentsd a munkafüzetet, majd fájlkeresővel keress rá és egyszerűen töröld le.
lacasd
Végül is kivitelezhető, de ehhez idő kell, mert összetett a dolog. Mondjuk biztos meg van az oka, hogy miért kell ennyire szétszabdalni (ennyi külön fájlban tárolni) dolgokat.
Ha a GAL és GM4 felépítése azonos, akkor rég le kellett volna egyszerűsíteni a dolgot, ugyanis akkor 1 darab fájlban elférne minden, abból meg kimutatással szinte bármi elkészíthető. -
válasz
concret_hp #13811 üzenetére
A makró
Public Sub FSCD_concret_hp()
Dim MySum As Long
Dim MyRange_1 As Range
Dim MyRange_2 As Range
Dim MyRange_3 As Range
Set MyRange_1 = Range("A1")
Set MyRange_2 = Range("B1")
Set MyRange_3 = Range("C1")
If MyRange_1.Offset(MyRange_1.End(xlDown).Row - 1, 0) Then
MsgBox ("A(z) " & MyRange_1.Address & " oszlop utolsó cellájának értéke 0 kell, hogy legyen!")
Exit Sub
End If
MySum = 0
For i = 0 To MyRange_1.End(xlDown).Row - 1
If MyRange_1.Offset(i, 0) Then
MySum = MySum + MyRange_2.Offset(i, 0)
MyRange_3.Offset(i, 0) = ""
Else
MySum = MySum + MyRange_2.Offset(i, 0)
MyRange_3.Offset(i, 0) = MySum
MySum = 0
End If
Next i
End SubA makró eredménye [link]
Megjegyzés
Az oszlop, amelyek a 0-kat is tartalmazzák nem tartalmazhat üres cellát. -
gyga
senior tag
Sziasztok.
Nemrég futottam bele egy olyan számomra problémába, hogy ha megnyitok egy üres excel munkafüzetet, és utánna megnyitok egy másik üreset akkor feldob egy választási lehetőséget hogy personal xlbs már meg van nyitva ezért azt nem tudja újra nyitni. csak olvasásra.
mit lehet ezzel kezdeni? jelenleg a personal -ban nincsenek makrók (üres). -
thee
csendes tag
válasz
concret_hp #13811 üzenetére
eddig azt hittem, h értem, h mire is lenne szükséged, de úgy látszik, h nem.
le tudnád írni egyértelműbben?
-
lacasd
csendes tag
válasz
lacasd #13812 üzenetére
pontosítanék:
Gyökérkönyvtárban (I:\pwg\Szarvas) vannak mappák(2011okt, 2011nov, 2011dec, ..., 2012maj). Ezen mappákban van minden naphoz 2 file:
(2011-10-01-GM4_napi_fogyasztás.xlsx és
2011-10-01-GAL_napi_fogyasztás.xlsx).Van egy a gyökérben egy új tábla (I:\pwg\Szarvas\adatok.xlsx) ahol A5-ben 2011.10.01 szerepel, A6-ban 2011.10.02 ...stb 2012.05.23-ig.
A GM4 filenevű filokból a C7-et az adatok.xlsx B oszlopába, D7-et a C oszlopba kell írni, (B5 és C5-től kezdődően)
A GAL filenevű fileokból a C7, D7, E7, F7 cellákat kell az adatok.xlsx D,E,F,G oszlopába írni. (5. sortól kezdődően)
Ugyanakkor 2012.01.01-től a GAL filenvű fileokból az L5,L6,L7,L8,L9 cellákat az adatok.xlsx H,I,J,K,L oszlopába kell másolni.
Milyen makró köthető ehhez?
Remélem mindent leírtam és érthető a problémám.köszönöm előre is
Lac
-
lacasd
csendes tag
Hello mindenkinek!
Lehet volt már téma, nem tudom, de olyan kérdésem van, hogy:
Adottak dátum szerint elnevezett .xls fileok, benne az adott napra vonatkozó adatokkal, meg az összegzésükkel(egyik cella).
Hogy tudom én ezt az összegzett cellaértéket beolvasni egy ÚJ dokumentumba gyorsan, ahol csak a napi összegzett értékekre vagyok kíváncsi?Eddig ha megpróbáltam kitöltetni duplaklikkel, akkor a cella értéket inkrementálta.
Hogy tudnám a filenevet inkrementálni, és a cellaérték meg maradna ugyanaz?
Nem igazán lenne jó 365-ször copizni :/
Gondolom valami makró kell, de programozni nem tudokköszi
Lac -
varsam
őstag
válasz
varsam #13796 üzenetére
Valaki, pls
indirekt függvénnyel hogyan tudok külső fájlra hivatkozni?
Konkrétan azt szeretném, hogy a fájl elérési útját tudnám megadni egy cellában, és ezt átírva tudnék másik fájlt meghívni.Amennyiben meg van nyitva a hivatkozni kívánt fájl, akkor tudja olvasni annak adatait az indirekt fv, de ha azt bezárom, akkor ugye rögtön #HIV hibával elszáll. Ezt hogy tudnám orvosolni?
-
LonGleY
veterán
válasz
Fire/SOUL/CD #13798 üzenetére
Köszönöm szépen!
A helyzet az, hogy millió cellatartalmat egyesével másolgatok ki (webshop feltöltés ugye), tehát még mindig gyorsabb egy backspace funkciót megnyomni beillesztés után az egerem oldalán, mint makrót futtatni egyenként. Illetve készül a fölöslegek letisztogatására szolgáló opció is a vágólapfigyelő programban.
-
hallgat
csendes tag
válasz
Daddyhands #13806 üzenetére
Szia!
Az AutoSzűrő funkciót próbáltad? -
Daddyhands
csendes tag
Sziasztok!
Valaki tudna nekem segíteni Excelben....
Egy táblázatot kellene elkészítenem, ami adatbázisként működik lehet benne szűrni az adatokat ha a legördülő menü valamelyikére kattintok.
A sablont eltudom küldeni.
A menü elemek, bármelyikre kattintva, az összes megjelenik listában, pl. rákattintok a címekre akkor az összes címet fogom látni.
A másik pedig, hogy miután feltöltöttem adatokkal utána is folyamatosan tudjam bővíteni és ne folyjanak egybe a témák.
A segítségeteket előre is köszönöm!
-
thee
csendes tag
válasz
concret_hp #13804 üzenetére
-
concret_hp
addikt
köszi, müxik
akkor még egy
van egy oszlopom (A oszlop mondjuk), amiben számok vannak (mondjuk +-5) egy másik oszlopom (B) amiben számok vannak és van egy C oszlop ahova a B oszlopot szeretném szummázni úgy, hogy ha mondjuk A10=0 és A15=0, de köztük nincs 0, akkor a B11
15öt szeretném szummázni a C15 mezőben (minden más esetben meg üresen hagynám (C11-C14 üres tehát, C10-ben meg az előző ilyen szumma szerepelne). nem tudom érthető-e, remélem igen , előre is köszi a segítséget
-
thee
csendes tag
válasz
concret_hp #13801 üzenetére
=SZUM(INDIREKT("s1o2";HAMIS):INDIREKT("s"&A1&"o2";HAMIS))
ha az A1 cella értéke 10, akkor b1:b10-et szummáz
-
válasz
concret_hp #13801 üzenetére
-
concret_hp
addikt
olyat lehet valahogyan hogy van egy mező amibe beírom, hogy egy képlet hányadik sorig számoljon? pl. beírom, hogy 10, akkor mondjuzk a b1:b10-et szummázza (elég sok képletnél kéne dinamikusan változtatni egyszerre...)
Új hozzászólás Aktív témák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Diabetes - Cukorbetegség
- Bloodborne (PS4)
- World of Tanks - MMO
- Kerékpárosok, bringások ide!
- Apple MacBook
- Formula-1
- Kis méret, nagy változás a Motorolánál
- Bibliai bőség a Tesla negyedik mestertervében
- PROHARDVER! feedback: bugok, problémák, ötletek
- További aktív témák...
- Game Pass Ultimate előfizetések 4 - 19 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Eladó Steam kulcsok kedvező áron!
- PC Game Pass előfizetés
- Törött, Hibás iPhone felvásárlás!!
- GYÖNYÖRŰ iPhone 13 Mini 256GB Red-1 ÉV GARANCIA - Kártyafüggetlen MS2213 ,96% Akkumulátor
- Lenovo ThinkPad X13 Gen 2 i5-1145G7 16GB 512GB FHD+ 100% sRGB - 1 év garancia
- Új Dell 13 Inspiron 5310 FHD+ IPS i5-11300H 4.4Ghz 8GB 256GB Intel Iris XE Graphics Win11 Garancia
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3357
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest