- Xiaomi 14T - nem baj, hogy nem Pro
- Poco X3 NFC - minden, ami kell
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Apple iPhone 13 - hízott, de jól áll neki!
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Poco F7 Pro - jó, de az amatőr sem rossz
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Minden téren tudott fejlődni a Motorola Razr 60 Ultra
- Apple Watch Ultra - első nekifutás
- Az iPhone a mobilpiac katalizátora
-
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
-
Lajoskala
újonc
Sziasztok !
Olyan kérdésem lenne, hogy, hogyan lehet azt megoldani, hogy egy diagramot szeretnék készíteni, aminél vannak olyan értékek, amiknél #ZÉRÓOSZTÓ hiba van. Ezeket, ha átteszem egy #HA függvénnyel valami betűre, pl egy a betűre, akkor is ugyan az a problémám van, úgy nyilvánul meg, hogy ezek az értékeket 0 értéknek veszi, és nem üres cellának. Ha üres cella lenne, akkor jó lenne a dolog, mert akkor nem jelöli az alján, hogy az egy 0 érték, hanem nem jelöl semmit.
Hogyan lehetne ezt a problémát áthidalni ?
A választ előre is köszönöm.Üdv
Lajos -
be.cool
csendes tag
-
Fferi50
Topikgazda
válasz
coldfirexx #28251 üzenetére
Szia!
Miért nem használod ki az Excel beépített lehetőségeit?
Sub Szerződések_törlése()
With Sheets("Alapadatok")
.UsedRange.Autofilter Field:=31, Criteria1:="A szerződés előző évben lejárt"
.UsedRange.Offset(1,0).Specialcells(xlCelltypeVisible).EntireRow.Delete
.AutofilterMode=False
End With
Sheets("Vezérlő").Select
Range("B6").Select
End SubÜdv.
-
Delila_1
veterán
válasz
m.zmrzlina #28292 üzenetére
"nagyobb hajlam van arra, hogy kitaláld a hiányzó peremfeltételeket"
Talán azért, mert úgy gondolom, a kérdezőt elbizonytalaníthatja a sok újabb kérdés. Nem szeretnék senkiből kisebbségi érzést kiváltani, inkább 3× válaszolok.
Szerencsére ezen a fórumon nem macerálják az emberek egymást, de van olyan hely, ahol porig aláznak mindenkit, aki kérdez.
-
m.zmrzlina
senior tag
-
Delila_1
veterán
válasz
m.zmrzlina #28287 üzenetére
De haragszom az n-edik átírás után, csak nem nagyon. Abból indulok ki, hogy aki kérdez, ebben a témában nem olyan profi, mint valami másban, amiben viszont én nem vagyok jártas, és amiben nem tudnék egy tisztességes, lényegretörő kérdést feltenni – ha szükségem lenne rá.
Vajh' a lényegretörőt a hamarosan megjelenő új helyesírási szótár szerint így kell írni?
-
Snoop-y
veterán
válasz
m.zmrzlina #28287 üzenetére
Ha jol latom akkor az szoveges megjegyzes ( ezert hasznaltam concatenate fuggvenyt )
Leirasban J es K oszloprol van szo es mindket lapon az A oszlopon van amire keresunk szoval this should do the trick
Ha van egyeb kriterium akkor az az info hianyzik teljesen. De majd emberunk megmondja a tutitHjam kozben az en bajomra mar kitalaltam a megoldast nem kell rajta porognie senkinek:
Az elso ures cellat keresem meg az adott oldalon es azt a sort ki is torlom szepen.
Iderakom hatha masnak is hasznos:
Sub Rowdel()
'Step 1: Declare Your Variables.
Dim LastRow As Long
'Step 2: Capture the last used row number.
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
'Step 3: Select the next row down
Cells(LastRow, 1).Offset(1, 0).EntireRow.Delete
End Sub -
m.zmrzlina
senior tag
válasz
Snoop-y #28286 üzenetére
Én kivárnám amíg megtudunk több részletet, minek lövöldözzünk vaktában.
Köztünk Delila az aki úgy szokott komplett megoldásokat adni, hogy a hiányzó információkat legenerálja
(És még csak nem is haragszik, ha újra és újra át kell írnia a megoldást a csöpögtetett információk alapján)
A CONCATENATE-tal szerintem az lesz a gond, hogy ha a másik munkalapról átvett adatokkal mondjuk számolni akarunk a Munka 1-en akkor az nehézségekbe fog ütközni. De persze ezt is csak feltételezem
-
Snoop-y
veterán
válasz
m.zmrzlina #28285 üzenetére
Na jol van nalam mukodik rendesen az alabbi
Munka sheeten vannak a gyumik amiket keresunk
Alma
korte
barack
banangyumolcsok sheeten vannak az A oszlopban a gyumolcsok amiket keresunk ismet
AAlma
korte
barack
bananJ es K oszlopban pedig a jellemzoik
=CONCATENATE((VLOOKUP(A2,gyumolcsok!A:K,10,0))," ",(VLOOKUP(A2,gyumolcsok!A:K,11,0)))
-
m.zmrzlina
senior tag
válasz
Snoop-y #28284 üzenetére
Teljesen jól látod én csak egy elméleti mintát adtam. Egyenlőre azt sem tudjuk hogy a Munka1 munkalapon /nála biztosan nem ez a neve/ hol kéne megjelennie a másik munkalap cellaértékeinek.
Egyébként az INDEX-MATCH párost rengeteg szakmai fórumon ajánlják a VLOOKUP kiváltására mert sokkal flexibilisebb.
-
Snoop-y
veterán
válasz
m.zmrzlina #28282 üzenetére
De neki mind a ketto oszlopbol kell az ertek ha jol ertem ez meg csak egyiket adja. Vagy mar nagyon pentek van es en nem ertem
-
Snoop-y
veterán
válasz
be.cool #28280 üzenetére
Hat pedig ez pont azt csinalja:
=FKERES(A2,excel sheet neve ahol vannak a J es K oszlopaid!A:K,ide ird azt a szamot amelyik oszlop erteket akarod kiiratni,0) J a 10. K a 11. k oszlop az esetedben
Most hirtelen nem jut eszembe mas metodus amivel ezt egyben megcsinalhatod.
Kiveve ha elobb azon a lapon ahol van a J es K oszlopod csinalsz egy L oszlopot ahova a ket oszlop erteket osszemasolod a concatenate fuggvennyel osszerakod es akkor az L oszlop erteket iratod ki mikor hasznalod az fkeres-t. -
m.zmrzlina
senior tag
válasz
be.cool #28278 üzenetére
A megoldás nem Ctrl+C - Ctrl+V kompatibilis mert a te munkafüzeted biztosan máshogy néz ki de az elv használható: /a szerkesztőlécen a C1 képletét látod/
A a képlet HOL.VAN(Munka1!A1;Munka2!A:A;0) része megadja, hogy a Munka2 munkalapon melyik sorban van az "A1" cella értéke, az INDEX() fv pedig visszaadja ennek a sornak és a 10. oszolp (ami esetünkben a J oszlop) metszéspontjában lévő cella értékét.
A =HAHIBA() pedig kiirtja a ronda #HIÁNYZIK-ot a Munka1 munkalapról ha Munka1 A oszlopában olyan érték van amit nem talál a Munka2 munkalapon.
-
Fferi50
Topikgazda
válasz
irodakukac #28276 üzenetére
Szia!
Ha legalább 2007-es exceled van, akkor adatok - szövegből oszlopok , elválasztójelnek beírod a / jelet, kijelölöd, hogy hova tegye és enter.
Ha ennél korábbi, akkor a bal(A2; szöveg.keres(A2,"/")-1) és a közép(A2,szöveg.keres(A2;"/")+1;20) a két szétválasztó képlet.
Üdv.
-
Snoop-y
veterán
válasz
be.cool #28278 üzenetére
Ez vlookup fuggvennyel megoldhato. Ha jol tevedek az magyar excelben fkeres nevre hallgat
Mondjuk A oszlopban keresel akkor igy fog kinezni a fuggvenyed:
=FKERES(A2,gyumikosar!A:B,2,0)
A2 az az A oszlop 2. cellaja ( itt van az elso erteked amit keresel az elso oldalon ) a gyumikosar az a masik excel sheet neve ahol keresed az ertekeidet a masik excel lapon A:B oszlopig keres ( tegyuk fel hogy a B oszlopban van az a leiras. Nalad ez a J lesz pl. 2 az az oszlop szama az elso kijelolt oszloptol peldankban az A -tol ahonnan ki akarod iratni a megjegyzest. A 0 pedig azt jelenti hogy teljes egyezes kell mikor keresunk.
A tobbi sorra csak szepen le kell huznod a fuggvenyt. -
be.cool
csendes tag
Sziasztok!
Van egy nagyon csúnya táblázatom ami sok sorból áll. Segítségeteket szeretném kérni mert én sötétben tapogatózok.
Tehát adott egy táblázat aminek több lapja van. Az első lapon az A oszlopban vannak nevek, ezeket kéne megvizsgálni a többi munkalapon,hogy hol találhatóak (szintén A oszlopokban vannak a többi munkalapokon is) és hogy ha ott az adott J vagy K oszlopba írtak megjegyzést akkor azt másolja be nekem az első lap N oszlopába.Igazából a többi lapon lévő (J és K oszlopokban lévő) megjegyzéseket kéne átmásolni az első lap N oszlopába, csak hát ugye az adott helyre.
Van esetleg valamilyen ötletetek?
-
Snoop-y
veterán
válasz
Snoop-y #28275 üzenetére
Talaltam egy olyan makrot amivel tudok sort torolni viszont nem tudom hogyan hivatkozzak az ures cellara
Ha a B oszlopban teszt van akkor szepen kitorli a sort. Nekem az kene hogy az ures sort talalja meg es torolje ki. ( viszont ne kezdje el torolgetni a tobbi ures sort mert akkor vegtelen ciklusba fog kerulni
Probaltam csak igy "" illetve hasznalni az IsEmpty-t de nem akar mukodni. Hogyan lehet megtalalni az elso ures ( aminek a B oszlopa mondjuk ures mint az alabbiban ) sort es kitorolni?
Sub Rowdel()
Dim i As Integer
For i = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
If Cells(i, 2) = "teszt" Then Cells(i, 1).EntireRow.Delete
Next i
End Sub -
irodakukac
csendes tag
Sziasztok!
Sajnos sokat felejtettem Excelben, ezért kérem a segítségeteket!
Egy cellában több fontos információ is megtalálható, és ezeket kellene egy függvénnyel külön szednem.
A cella 6-10 karakter közötti.
Cella felépítése: 2 féle kód van benne, és a kódok "/" jellel vannak elválasztva. Projektkód/ktghelykód
Ezek lehetnek pl. F/PIG; LT14/HAT; KT14/SZBÉR stb.
Az a kérdésem, hogy hogy tudom függvénnyel megcsinálni, hogy a "/"-től balra lévőket (tőle balra lehet 1-4 karakter is) írja egy adott cellába, egy másik cellába pedig a "/"től jobbra lévőket. Ennek eredménye az lenne, hogy külön cellába kerülne a projekt kód és külön cellába a ktghely kód.Várom válaszotokat!
irodakukac -
Snoop-y
veterán
Sziasztok,
Na mar majdnem jo csak egy problemam van akkor is letrehoz egy lookup sort ha a tablazatban nincs uj sor.
Igy lesz egy ures sorom a vegen egy lookup-al. Hogyan lehetne rabirni arra hogy csak akkor mukodjon ha uj sor van a tablaban?A tabla az A-L -ig van es a P sorban van a lookup
Sub copyformula()
Dim usor1 As Long, usor2 As Long
usor1 = Range("A" & Rows.Count).End(xlUp).Row
usor2 = Range("P" & Rows.Count).End(xlUp).Row
Range("P" & usor2).Copy
Range("P" & usor2 + 1 & ":P" & usor1).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
End Sub -
-
Mittu88
senior tag
válasz
Delila_1 #28261 üzenetére
Nem bírtam ki, bent maradtam túlórában kipróbálni.
Ennyit csináltam:On Error Goto 0
fnev = ....
Hiba:
Set wb1 = Workbooks.Open(Filename:=fnev)
If VarType(wb1) = vbError Then
MsgBox "Az adatbázis pillanatnyilag használatban van, OK-ra kattintva újra próbálkozom a megnyitásával.", vbOKOnly, "Hiba!"
GoTo Hiba:
End IfÉs ugyanúgy hibát dob. Mondjuk nem az adatfájlt nyitottam meg, hanem az asztalra másoltam és a másolatot nyitottam meg (de fájlnév egyezőség miatt ilyenkor is hibára fut, most meg ugye ez volt a cél).
Szerk.: annyit próbáltam még, hogy átírtam On Error Resume Next-re, akkor feldobja a hibaüzenetet, de nem próbálkozik újból az Ok gombra kattintva.
-
lappy
őstag
válasz
Snoop-y #28265 üzenetére
alapnak ezt tudom ajánlani
-
Snoop-y
veterán
Sziasztok,
Excel 2010 ( angol )
Van egy linkelt ( sharepoint lista adatkapcsolat ) tablazatom az egyik excel fulon ( sheet )
Minden tablazat sor mellett az utolso oszlopban ( ez nyilvan nem resze a tablazatnak ) van egy lookup fuggvenyem is.
Azt szeretnem elerni hogy amikor uj sor kerul a tablazatba akkor legyen mellette automatikusan a lookup. Ne kelljen kezzel lehuzogatni vagy az elso sorra kattintva megtenni ezt.Valamilyen otlet erre hogyan lehetne ezt automatizalni?
Most ez jo parasztosan ugy van megoldva hogy a lookup le van huzva tobbezer soron keresztul. Ezt szeretnem megszuntetni valahogy.
-
Delila_1
veterán
válasz
Mittu88 #28245 üzenetére
Ez a makró akkor fut hibára, ha az inputboxban olyan számot kap, ami nem szerepel az A oszlopban.
Nyilván át tudod alakítani a saját célodra.Sub hiba()
Dim lel, szam As Integer
Innen:
On Error GoTo 0
szam = Application.InputBox("Kérem az egész számot", "Szám bekérése", , , , , , 1)
lel = Application.Match(szam, Columns(1), 0)
If VarType(lel) = vbError Then
MsgBox "Újra!", vbExclamation
GoTo Innen
End If
MsgBox "A makró többi része"
End Sub -
Delila_1
veterán
válasz
schmiedpeter #28247 üzenetére
A tartományt kijelölve a képlet
=vagy($b2="Szo";$b2="V")
-
Delila_1
veterán
válasz
coldfirexx #28255 üzenetére
Rögzíts egy makrót. Ebben annyi legyen, hogy autoszűrővel szűröd az AE oszlopot a szövegedre. Beállsz az első látható sor A cellájára, Ctrl+le nyíllal kijelölöd a látható tartományt, és törlöd a sorokat, majd az AE oszlopban megszünteted a szűrést.
Ez akkor jó, ha az A oszlopban is folyamatosan annyi adat van, mint az AE-ben.
A 2. kérdésedre, a formátum másolására:
Rows("2:2").Copy
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).PasteSpecial xlPasteFormats
Application.CutCopyMode = False -
Bubicica
csendes tag
Sziasztok!
Valószínűleg tök egyszerű a megoldás, de egyszerűen nem tudok rájönni. Próbáltam feltételes formázással, makrókkal is, de nem.
No itt a probléma:
Van egy táblám, oszlopokban: sorszám, név, majd 5 szolgáltatás. Be kell jelölni, hogy ki mit csinált aznap. 5 féle szolgáltatás van, ha az emberke 1-et is igénybe vett, akkor nincs semmi, nem kell formázni. Ha egyet sem vett igénybe, akkor viszont az egész sort (A-tól G-ig) be kéne sárgával jelölni, hogy látszódjon.
Tehát:
Ha E-től G-ig a cella tartalma nem "x" (vagy üres), akkor fesse sárgára a sort A-tól G-ig.H sorban amúgy van egy HA-VAGY, ami 0-át vagy egyeseket dob ki aszerint, hogy van-e "x" E-től G-ig.
Mellékelek egy képet (amit sárgán láttok, azt manuálisan színeztem be a kívánt hatás illusztrálása kedvéért)
Ötletek?
-
-
Mittu88
senior tag
válasz
coldfirexx #28251 üzenetére
Azt próbáld még ki, hogy a Dim j as integer sor alá beírod: application.screenupdating = false
Amúgy nem lehetne lassabb, nem értem a dolgot.Azt írd majd meg légyszi, hogy gyorsult-e ettől a parancstól. Köszi!
-
bara17
tag
Sziasztok!
Az alábbi problémám van.van egy excelem, melyben van viszonylag sok modul és amelyekben a makrók vannak. (kb. 17 modul és modulonként 4 makró).
Célom, hogy valami másik makróval az összes modult névvel (és a benne lévő makrókkal együtt) átmásoljam egy másik munkafüzetbe.
Hogy tudnám ezt megoldani, a crtl+c és crtl+v megoldáson kívül gyorsan?
Köszönöm szépen!
-
-
Mittu88
senior tag
válasz
coldfirexx #28249 üzenetére
Sub adattorles()
Dim i as integer
Dim j as integerWorksheets("Alapadatok").Activate
j = 0
i = 0
Do
i = i + 1
If Cells(i, 31).value = "A szerződés előző évben lejárt" then 'A 31 az AE oszlop száma
Cells(i, 31).entirerow.delete
i = i-1
j = j + 1
End if
Loop until Cells(i, 1).value = "" 'Addig megy az első oszlopon végig, amíg nem talál üres cellátMsgbox "A művelet sikeresen lefutott, " & j & " sor került eltávolításra", vbokonly
End sub
-
-
válasz
schmiedpeter #28247 üzenetére
Szerintem feltételes formázásnál, jelöld ki a teljes sort majd a feltétel megadása képlettel: =HA(VAGY(B21="SZ";B21="V");IGAZ;HAMIS) és állítsd be hogy szürke legyen.
Maj formátummásolással mehet minden sorra. -
schmiedpeter
csendes tag
Sziasztok, jelenléti ívet készítek, de elakadtam,
amit én szeretnék az az, hogy ne csak azok a cellák legyenek szürkére színezve automatikusan amik "Szo" vagy "V" vel vannak kitöltve, hanem ezeknek az egész sora...Válaszotokat előre köszönöm.
-
Mittu88
senior tag
válasz
coldfirexx #28244 üzenetére
Ha van egy olyan sorod, amiben végig vannak adatok, akkor a következőt csináld a For ciklus helyett:
i = 0
Do
i = i + 1
If Cells(i, 31).value = "A szerződés előző évben lejárt" then 'A 31 az AE oszlop száma
Cells(i, 31).entirerow.delete
i = i-1
End if
Loop until Cells(i, végigtöltöttsor sorszáma).value = "" 'Addig megy, amíg nem talál üres cellátAmúgy a CountIf függvény lassítja nagyon, nincs rá szükség. Simán a cella értékét (value) vizsgáld.
-
Mittu88
senior tag
Sziasztok!
VBA-ban szeretnék egy hibakezelő modult létrehozni, ami azt csinálja, hogy hiba esetén
vár egy másodpercetdob egy hibaüzenetet, amit leokézva, majdújra próbálkozik attól a sortól, amelyiken a hiba előfordult.Erre azért van szükség, mert van egy makró, amivel sokan dolgoznak, és bezáráskor (illetve egy pár művelet során) megnyit egy szerveren lévő fájlt egy pillanatra, amíg a saját adatait beletölti.
A probléma, hogy néha egyszerre lépnek ki a makrós fájlból, így egy megnyitott fájlt akar megnyitni és szerkeszteni, ami hibára futtatja.Alapból ez a makrós fájl formokból áll csak, tehát cellába nem is tudnak írni (célszerűbb lett volna amúgy futtatható állományt csinálnom sima VB-ben, de ahhoz nem értek), mert induláskor felugrik az első form. Ez változtat valamit a hibakezelésen?
-
Végül sikerült így megcsinálni:
Sub Szerződések_törlése()
Sheets("Alapadatok").Select
Dim MyCol As String
Dim i As Integer
For i = 1 To Range("AE" & "65536").End(xlUp).Row Step 1
If Application.WorksheetFunction.CountIf(Range("A" & i & ":AZ" & i), "A szerződés előző évben lejárt") > 0 Then
Range("C" & i).EntireRow.Delete
End If
Next i
Range("A2").Select
Sheets("Vezérlő").Select
Range("B6").Select
End SubDe vagy 3 perc mire lefutott 5000 sornál.
Van valami gyorsabb módja makróval? -
-
poffsoft
veterán
válasz
nyirisandor #28232 üzenetére
Nem , még csak most végeztem.
Delila megoldását is alkalmazva, a munka1-en makrós, munka2-n függvényes megoldás
[link] -
wolfman
veterán
Sziasztok!
Lehetséges olyat kivitelezni excel-ben, hogy kijelölt területen a beszínezett cellákat is belevegye a számításba a végén? Arra gondolok, hogy pl. egy sorban van 10 cella, az első 4 találomra be van színezve, aztán pár számadat és a végén a szummába kiszámolva a korábbi számok úgy hogy az első változó aszerint lenne hogy a 4 cellából mondjuk kettő van kékre színezve, akkor 2x bla bla.
Nem tudom érthető-e?
-
-
Delila_1
veterán
válasz
coldfirexx #28234 üzenetére
Pl. így:
Sub Kepletek()
Dim usor1 As Long, usor2 As Long
usor1 = Range("A" & Rows.Count).End(xlUp).Row
usor2 = Range("Z" & Rows.Count).End(xlUp).Row
Range("Z" & usor2 & ":AM" & usor2).Copy
Range("Z" & usor2 + 1 & ":Z" & usor1).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
End Sub -
-
nyirisandor
újonc
válasz
coldfirexx #28234 üzenetére
Köszönöm szépen a segítséget.
Működik :-) és most meg is tanulom. -
Delila_1
veterán
válasz
coldfirexx #28234 üzenetére
Nem kell ehhez makró, 1 (dupla) kattintással megvan.
Kijelölöd az eddigi utolsó képleteket (Z3:AM3 tartomány). A kijelölés jobb alsó sarkában van egy kis fekete négyzet, azon egy duplaklikk lemásolja a képleteket addig, amíg a mellette lévő Z oszlopban valamilyen értéket talál.
-
Sziasztok!
Egy olyan makrót keresek amelyik a következőt csinálja:
Van egy táblám, ahova adatok vannak betöltve "A3: Y3" között, és "Z3: AM3" ig képletek.
Jön egy új adathalom és akár "A5000: Y5000" ig feltölti a táblát.
A makró amit keresek hogy másolja le a képleteket addig amíg az "A: Y" ban van adat. -
Delila_1
veterán
válasz
nyirisandor #28232 üzenetére
Valószínű, hogy azóta poffsoft már válaszolt privátban, de ha nem, ez is megteszi.
Mikor egy új nevet viszel be a B oszlopba, a jobb oldali táblázat automatikusan frissül.
Az A1:B1 és a D1:G1 tartományban megszüntettem a cellák összevonását. Javaslom, hogy ezután is kerüld ezt a formázási lehetőséget, mert elég sok galibát okozhat.
Egyenként jelöld ki a két tartományt, és a cellaformázásnál nézd meg a vízszintes elrendezés beállítását. -
poffsoft
veterán
válasz
nyirisandor #28230 üzenetére
töltsd fel a data.hu-ra (vagy a google drive-odra, ha van), és a letöltő linket posztold ide.
Vagy küldd el emailben. -
nyirisandor
újonc
válasz
Delila_1 #28216 üzenetére
Az már kiderült számomra hogy nem vagyok Excel guru :-(
Egyik megoldást sem sikerült működőképessé tennem. Még próbálkozom velük.
Azért köszönőm a segítségeteket.Megpróbáltam az Excel táblát föltenni de az sem sikerült, mert nem kép. :-(
Úgy tűnik ebből nem élnék meg.
Kicsit elkeseredtem de még nem adom föl.
Köszönöm a segítséget és szép napot mindenkinek -
Delila_1
veterán
válasz
coldfirexx #28227 üzenetére
Szívesen.
-
-
Delila_1
veterán
válasz
coldfirexx #28225 üzenetére
Az utolsó makrót másold be, azzal ott lesz szegély, ahol kell.
-
-
Delila_1
veterán
válasz
coldfirexx #28223 üzenetére
Sub Elrejt()
Dim szam As Long, CV As Range
For Each CV In Range("A39:A83")
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
szam = CV.Row
End If
Next
Range("B" & szam & ":N" & szam).Borders(xlEdgeTop).Weight = xlMedium
End SubAkkor az utolsó, nem rejtett sornak adunk felső szegélyt.
-
-
Delila_1
veterán
válasz
coldfirexx #28221 üzenetére
Sub Elrejt()
Dim szam As Long, CV As Range
For Each CV In Range("A39:A83")
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
End If
szam = CV.Row
Next
Range("B" & szam & ":N" & szam).Borders(xlEdgeBottom).Weight = xlMedium
End SubNem világos, hogy az alsó, látható adat, vagy az utolsó elrejtett sor aljára akarsz-e vastag vonalat?
Ha az utóbbi, akkor a szam = CV.Row sort az Else fölé tedd át. Ebben az esetben viszont nem látszik, mert ez a sor rejtett. -
-
Delila_1
veterán
válasz
coldfirexx #28219 üzenetére
Szívesen.
Set terulet=Range("A39:A83")
-
-
Delila_1
veterán
válasz
coldfirexx #28217 üzenetére
Sub Elrejt()
Dim terulet As Range, CV As Range
Set terulet = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
For Each CV In terulet
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
End If
Next
End SubTalán ez jó lesz.
-
Hello!
Kellene egy kis segítség makró írásban. A következő feladatot kellene megoldani:
Az A oszlopban minden sorban van egy képlet mely eredménye üres vagy "elrejtve"(Kiírja hogy Elrejtve).
Ez annak függvényében változik hogy, a mögöttes PIVOT tábla mennyi adatot tölt be.
Frissítem a PIVOTOT (ezt sikerült makró rögzítéssel megcsinálni), majd ennek függvénye hogy mennyi sor le az ahova nem jut adat=el kell rejteni.
Ahol kiírja az A oszlopban hogy "Elrejtve" azt egy gombnyomasra el kellene rejteni.Köszi ha valaki veszi a fáradságot.
Csak makró jöhet szóba. -
Delila_1
veterán
válasz
nyirisandor #28212 üzenetére
A lapodhoz kell rendelned a makrót. Keress rá a laphoz rendelésre.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim usor As Long
If Target.Column = 2 And Target.Row > 2 And Target.Count = 1 Then
Application.EnableEvents = False
usor = Range("B" & Rows.Count).End(xlUp).Row
Range("B3:B" & usor).Copy Range("D3")
Range("E3:E" & usor).ClearContents
ActiveSheet.Range("$D$3:$D$" & usor).RemoveDuplicates Columns:=1, Header:=xlNo
usor = Range("D" & Rows.Count).End(xlUp).Row
Range("E3:E" & usor) = "=countif(B:B,D3)"
Application.EnableEvents = True
End If
End SubSzerk. Látom, már kaptál választ, míg én irkáltam.
Mikor új nevet viszel be a B oszlopba, a D és E oszlop felülíródik az új értékekkel.
-
poffsoft
veterán
válasz
nyirisandor #28212 üzenetére
Szia,
google tömbképletes megoldásokat kínál.
Ha lehet makróval is:
Dim row As Range
Dim elements() As String
Dim elementSize As Integer
Dim newElement As Boolean
Dim i As Integer
Dim distance As Integer
Dim result As String
elementSize = 0
newElement = True
For Each row In rng.Rows
If row.Value <> "" Then
newElement = True
For i = 1 To elementSize Step 1
If elements(i - 1) = row.Value Then
newElement = False
End If
Next i
If newElement Then
elementSize = elementSize + 1
ReDim Preserve elements(elementSize - 1)
elements(elementSize - 1) = row.Value
End If
End If
Next
distance = Range(Application.Caller.Address).row - rng.row
If distance < elementSize Then
result = elements(distance)
listUnique = result
Else
listUnique = ""
End If
End Functionha megvan a lista, már csak egy sima DARABTELI() amire szükséged van.
A példatáblát jobb lenne xls formátumban mellékelni
-
nyirisandor
újonc
Sziasztok!
Azt szeretném elérni hogy egy adott névsorban szereplő neveket kilistázza és ha egy név többször szerepel akkor is csak egyszer jelenjen meg a listában, valamint számolja ki hogy egy ember hány alkalommal volt jelen. Ennek a folyamatnak automatikusnak kell lennie mert a nevek folyamatosan bővülnek és változnak is.
Ebben kérem a segítségeteket. A szűrésnél nem tudtam automatikusra beállítani.Sajnos nekem nem sikerült megoldanom. Az Spss, és az Access tudja, de sajnos excelben kellene megoldanom ezt a feladatot.
Kérlek benneteket segítsetek ha tudtok rá megoldást.
üdv: Nyíri Sándor
-
earthy
újonc
válasz
Delila_1 #28209 üzenetére
Sziasztok!
Hála Nektek, sikerült beillesztenem a képletet a saját táblázatba is. Miután itt nem az első oszlopba várom eredményül a sor utolsó értéket tartalmazó cellájának tartalmát, így a
=HAHIBA(INDIREKT(CÍM(SOR(J2);HOL.VAN("";J2:JA2;-1)+9));"üres")
képletre írtam át, hogy a 9. oszlop a kimeneti cella, és ezzel bővítettem a vízszintes tartományhosszt is.
Csak még egy kérdés, habár így is tökéletes, azt tapasztaltam, hogy amennyiben kizárólag számokat írok be, úgy figyelmen kívül hagyja a képlet az utolsó cellát, mármint azt amiben számadat található... Egyszerű megoldás, hogy a cellát szöveges tartalmúra formáztam - habár gyanítom ez a barbárabbik módszer...
Mindenesetre köszönöm a segítségeteket!
-
poffsoft
veterán
válasz
earthy #28206 üzenetére
szia,
hahiba(képlet ha nemhibás; érték ha hibás a képlet eredménye)
indirekt: szöveggel megadott hivatkozás értéke
cím(sor, oszlop): hivatkozást ad a sor, oszlop cellára.
hol.van : megkeresi a tartomány első üres celláját
megjegyzem, a sor(B2) helyett én sor()-t használnék. -
alfa20
senior tag
válasz
earthy #28206 üzenetére
Haladjunk sorban:
Hol.van: megtudod keresni, hogy hol található a keresett érték. itt ugye megadható pontos keresés, de nekem a 'semmit' (üres cellát) még sosem sikerült pontos kereséssel találni, így a '-1'-t használom mert ilyenkor mindig megadja hol van az utolsó kitöltött cella. Arra viszont figyelni kell, hogy a tartomány ha számokból áll, akkor a két macskaköröm helyett egy 'space' kell, különben nem működik. ezt lehet nem így kellene használni, de majd holnap jönnek az Guruk és kijavítanak.
ja igen a +1 azért kell mert az első oszlopban a képlet van, így el kell tolni egyel a CÍM() függvényt.Sor: vissza adja a hivatkozott cella sorának számát.
Cím: Egy cella címét adja eredményül (sor,oszlop) pl: =CÍM(2;2)-ből, $B$2-lesz.
Indirekt: A hivatkozott cella értékét kapod vissza(pl, ha 'A2' cellába 'B2'-t irtsz és indirekttel az 'A2'-re hivatkozol, akkor 'B2' cella értékét kapod eredményül.
Hahiba: érték hiba esetén a megadott érték lesz az érték.
-
earthy
újonc
válasz
alfa20 #28205 üzenetére
Szia Alfa20! Nagy vagy, működik!
Kipróbáltam, minden sorra érvényesül, és működik rendben!
Ha van még rám pár perced megkérhetlek hogy a miértjét is leírd majd, mert bár ezt várhatóan át tudom majd ültetni a végső táblába, szeretném megérteni a miértjét is...
=HAHIBA(INDIREKT(CÍM(SOR(B2);HOL.VAN("";B2:J2;-1)+1));"üres")
Köszönet mégegyszer!!!!
-
earthy
újonc
Sziasztok! Új vagyok itt, engedelmetekkel segítségért fordulnék hozzátok!
Egy jókora excel táblázatban fogok dolgozni, amely vízszintesen változó számú adatot fog tartalmazni. Pillanatok alatt át kell látnom, hogy az adott sorban az utolsó adatot tartalmazó cellába mit írtam. (szöveges)
Ezért kellene azt megoldanom, hogy a mellékelt kép szerint pl. az első oszlopban képlettel folyamatosan jelenítse meg, hogy az adott sor utolsó adatot tartalmazó cellájában mi szerepel.Makróval megoldottam úgy, hogy a lépéseket végrehajtva letároltam, mármint egy cella jobbra, ugrás a sor végére, másol, vissza, beilleszt... - ezzel az a gondom, hogy minden sorra egyesével ki kell adni, másrészt manuális futtatást igényel. Ezért gondolkodtam az FKeres és hasonló függvényekben, azonban tapasztalat hiányában nem tudtam úgy megalkotni, hogy működjön. Feltöltöttem egy egyszerűsített példa táblát, ez lenne a cél.
Kérlek segítsetek ha tudtok ebben. Köszönettel: Csaba
/dl/upc/2015-08/24/567624_b5olidopdu6mcv5z_alaptabla.jpg
-
#20368384
törölt tag
Érdekes hiba:
1. Van egy táblázatom (Google Adwords-ből CSV vagy XLSX export - ugyanúgy előjön a hiba)
2. Vannak oszlopok, ahol csak számok vannak
3. CTR+F-el vagy makróval eltávolítom belőlük az ALT+0160 típusú szóközkaraktert
4. Majd valutává konvertálom
5. Az ezrestől nagyobb, régebben (ALT+0160) típusú szóközt tartalmazó, mostanra normális számként funkcionáló cellákba az érték nem állítódik be.
6. Bele kell egyszer legalább kattintani és kikattintani belőlük vagy entert ütni.
7. Akkor végre jobbra igazítja és valóban valuta lesz belőle.A kérdésem, az, hogy ez Excel hiba, és hogy orvosolható-e egyetlen lépésben?
Van olyan lehetőség, ami újra beírja az értékeket az adott tartományban?A Makrót amit eddig írtam hozzá a következő
Sub Google_Kulcsszojelentes_Formazas()
'
ActiveCell.Range("A1:M1").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$2:$M$36"), , xlYes).Name = _
"Táblázat1"
ActiveCell.Range("A1:M35").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveCell.Offset(-1, 3).Range("A:A,E:E,F:F,I:I").Select
ActiveCell.Offset(0, 11).Range("A1").Activate
Selection.Style = "Currency"
End Sub
Új hozzászólás Aktív témák
- Eladó Steam kulcsok kedvező áron!
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- 20+ típus HP üzleti laptopok Elitebook, Probook, Zbook 8-13. gen gar.
- HP ZBook Firefly 14 i7-1165G7 32GB 1000GB 14" FHD magyarbill 1 év garancia
- BESZÁMÍTÁS! MSI Z87-G43 GAMING Z87 chipset alaplap garanciával hibátlan működéssel
- Apple MacBook Pro 13" 2019 256/8GB Akku:40 ciklus!
- HP EliteBook 840 G8 i5-1135G7 16GB 512GB 1 év garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest