-
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
-
dellfanboy
senior tag
köszi mindenkinek
eladó dolgok:mondd az árát és vidd http://hardverapro.hu/tag/dellfanboy#aprohirdetesei
-
GoZoL
senior tag
Sziasztok!
A következő makrót szeretném módosítani:
Sub Osszevon_()
Const utvonal = "adat"
Dim FN As String, WB As Workbook, WBGy As Workbook
Dim lap As Integer, oszlop As Integer, oszlop_gy As IntegerApplication.ScreenUpdating = False
oszlop_gy = 3
Set WBGy = Workbooks("adat.xlsm")
ChDir utvonal
FN = Dir(utvonal & "*.xls", vbNormal)
Do
If FN <> "." And FN <> ".." Then
Workbooks.Open Filename:=FNFor lap = 1 To Worksheets.Count
Sheets(lap).Select
Range("G27:G197").Copy
ActiveWindow.ActivatePrevious
Cells(9, oszlop_gy).Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
oszlop_gy = oszlop_gy + 1
Next
ActiveWindow.Close
End If
FN = Dir()
Loop Until FN = ""Application.ScreenUpdating = True
End SubPlusz tartományt kellene másolni (E9:E26) ami a 9-14 sorba illesztené be és utána jönne a fent látható tartomány de a 15. sortól illesztené be. Egy kijelöléssel és egy másolással nemigen lehetséges.
Köszönöm a segítséget!
-
mandin
senior tag
Van egy táblázat, ahol van egy cella, ahol egy szorzat érték van, ezt hogy tudnám úgy megcsinálni, hogy ne szorzat alakja legyen, hanem a csak már a kiszámolt érték. Nem tudom érthető-e.
-
lappy
őstag
válasz mandin #16605 üzenetére
Szia!
Az a kérdés hogy mit szeretnél ezzel a munkalappal. Mert ha egy beszámoló pl. akkor kijelöl és értéket beilleszt elég. Amennyiben nem szeretnéd megmutatni hogy hogy lett kiszámolva a cella szorzata és ezt persze folyamatosan használod akkor egy egyszerű macro megteszi mert nem fog látszani csak az érték.
A macro felvétel gomb segítségével meg is írhatod!Bámulatos hol tart már a tudomány!
-
mandin
senior tag
Még egy kérdésem lenne. Ugyanebben az excel fájlban van egy oszlok, ahol tizedes érték van. Pl van 0,6, amit átrakok százalékba ez ugye 60%. Ezt be lehet úgy állítani, hogy 40% legyen, tehát ne a 60, hanem a csökkenés azaz a 40 Remélem érthető.
-
mandin
senior tag
válasz dellfanboy #16608 üzenetére
Köszönöm, a hivatkozott cellát hogyan tudom elrejteni, legyen ott, de ne látszódjon?
[ Szerkesztve ]
-
Mutt
aktív tag
A 3. megoldás pedig lehet, rejtetté tenni a cella képletét. Ehhez a cella tulajdonságainál be kell állítani a rejtést és utána be kell kapcsolni a lap védelmét (Korrektúra -> Lapvédelem)
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz Roley_05 #16568 üzenetére
Feltöltöttem ide részletesen leírva, hogy hogyan tudsz különböző választógombokat csoportosítani.
Ürlap-vezérlőelemeknél csoportpanelra (frame) kell tenned a gombokat.
ActiveX elemeknél pedig a Grouping (csoportosítás) tulajdonságot kell beállítanod.A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
Hali,
Plusz tartományt kellene másolni (E9:E26) ami a 9-14 sorba illesztené be és utána jönne a fent látható tartomány de a 15. sortól illesztené be. Egy kijelöléssel és egy másolással nemigen lehetséges.
Az E9:E26-os tartomány 17 soros, nem fog beleférni a 9-14 sorok közé!
A kódod magját kell duplikálnod az új tartomány másolásához.
For lap = 1 To Worksheets.Count
'az újabb tartomány másolása
Sheets(lap).Range("E9:E26").Copy
ActiveWindow.ActivatePrevious
Cells(9, oszlop_gy).Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
'a régi tartomány másolása a 15. sorba
Sheets(lap).Range("G5:G197").Copy
ActiveWindow.ActivatePrevious
Cells(15, oszlop_gy).Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
oszlop_gy = oszlop_gy + 1
Nextüdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Agony
aktív tag
Sziasztok!
Egy kis segítséget szeretnék kérni az alábbi probléma megoldásában.
Adott raktározási rendszer amiben helykódokat használunk.
A helykód 4 részből áll össze:
- Telephely
- Sor
- Polc
- RekeszPéldául: DU.32.01.01, azaz DU telephelyen 32. sorban első polcon az első rekesz.
Most adódott egy olyan probléma, hogy rengeteg ilyen helykódot kellene egyszerre elkészíteni és erre szeretnék exceles megoldást találni, de a hagyományos összefűz és & megoldásokkal nem igazán sikerült áthidalni.
Ezeket kellene összevonni:
1. rész: DU (Telephely, ez állandó)
2. rész: 32-45-ig (Sor)
3. rész: 00-16-ig (Magasság)
4. rész: 00-99-ig (Rekesz)Létezik az excelben esetleg erre egy függvény vagy makró amivel lényegében minden cellát össze lehet adni minden cellával?
Előre is köszönöm a segítséget!
Üdv,
LeviStart with a whisper, end with a scream!
-
Pityke78
őstag
Sziasztok!
Újra lesz telepítve a céges gépem és szeretném megtartani az excel-es beállításokat, ikon elhelyezéseket, stb.
Van arra lehetőség, hogy valahogy ezeket lementsem és az új excel-nél beimportáljam?Elég sürgős lenne mert ma délután legyalulnak mindent.
Köszi
-
lappy
őstag
Szia!
Nem igazán értem a problémádat!?
Most akkor kell neked a felsorolt 4 rész szerinti helykódok! mert erre ott az összefűzz fgv.
vagy előre megvannak ezek a helykódok és ezeket illeszted be vhova.
Hogy állnak elő a kódok vmilyen cellaértékből számol vagy csak te illeszted be?Bámulatos hol tart már a tudomány!
-
Delila_1
Topikgazda
válasz Roley_05 #16621 üzenetére
Nézd meg, mi jelenik meg a csatolt cellában!
Űrlapvezérlő esetében, ha az elsőre kattintasz, a csatolás 1 lesz, a másodikra kattintáskor ugyanaz a cella a 2-es értéket veszi fel. Ezzel már biztosan tudsz valamit kezdeni.
ActiveX-nél a csatolt cella értéke IGAZ, vagy HAMIS a választástól függően 2 db OptionButton -nál.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Agony
aktív tag
Sikerült megoldani végülis, de a lényeg az volt hogy adott 3 oszlop.
Az első oszlopban 1 cella van aminek az értéke: DU
A második oszlopban 33-45-ig vannak számok.
A harmadik oszlopban 00-16-ig vannak számok.
A harmadik oszlopban 00-99-ig vannak számok.És ezeket kellett összehozni úgy, hogy mindent mindennel teljes terjedelemben.
Szóval le kellett generálnia a kódokat DU.33.00.00-tól DU.45.16.99-ig.Start with a whisper, end with a scream!
-
Mutt
aktív tag
Hali,
Sikerült megoldani végülis, de a lényeg az volt hogy adott 3 oszlop.
Az első oszlopban 1 cella van aminek az értéke: DU
A második oszlopban 33-45-ig vannak számok.
A harmadik oszlopban 00-16-ig vannak számok.
A harmadik oszlopban 00-99-ig vannak számok.Lemaradtam róla, de azért felraktam 2 megoldást ide.
Az egyik makró For...Next ciklusokkal, szabadon választható elválasztó jellel.
Sub Cartesian()
Dim cimke1 As Long, cimke2 As Long, cimke3 As Long, cimke4 As Long
Dim c1 As Long, c2 As Long, c3 As Long, c4 As Long
Dim sor As Long
sor = 1
'megszámoljuk mindegyik részt hányszor kell ismételni
cimke1 = WorksheetFunction.CountA(Range("A:A"))
cimke2 = WorksheetFunction.CountA(Range("B:B"))
cimke3 = WorksheetFunction.CountA(Range("C:C"))
cimke4 = WorksheetFunction.CountA(Range("D:D"))
If cimke1 * cimke2 * cimke3 * cimke4 > Rows.Count Then
MsgBox "Egy lapra nem fér ki minden kombináció (" & cimke1 * cimke2 * cimke3 * cimke4 & ")!"
End If
Application.ScreenUpdating = False
For c1 = 1 To cimke1
For c2 = 1 To cimke2
For c3 = 1 To cimke3
For c4 = 1 To cimke4
Cells(sor, "G") = Cells(c1, "A") & Cells(1, "E") & Cells(c2, "B") & Cells(1, "E") & Cells(c3, "C") & Cells(1, "E") & Cells(c4, "D") & ""
sor = sor + 1
Next c4
Next c3
Next c2
Next c1
Application.ScreenUpdating = True
End SubA másik valójában nem makró, hanem egy sima lekérdezés Accessben, amely azon alapul hogyha nincsenek a táblák összekötve akkor az RMDBS descartes-szorzatot (cartesian product) fog visszaadni, amely az összes lehetséges kombinációt tartalmazza.
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Attas
aktív tag
Sziasztok!
Egy olyan makró segedelemre lenne szükségem ami egy adatbázis (A oszloptól W oszlopig) utolsó 3 oszlopának adataira keressen rá és azokat a sorokat másolja át egy másik munkalapra. pl. utolsó három oszlop
Lada, kék, benzin
Opel, kék, benzin
Audi, zöld, diesel
Opel , kék, benzin
Opel, zöld, benzin
Nos ha most a keresési feltételeknél megadom, hogy Opel, kék, benzin, akkor csak azokat a sorokat másolja át ahol e feltétel megvalósul A-W-ig
Köszönöm ha segítetek.."Az élet olyan mint az ásás. Néha pár gyökér feltart, de annak jól odacsapsz és mehetsz tovább!"
-
Wasquez
senior tag
Sziasztok!
Azt hogyan tudom megcsinálni, hogy A oszlopban lévő értékeket keresek, és a hozzájuk tartozó értékeket a b oszlopból szummázom egy harmadik oszlopban lévő cellába?
Másik kérdés, hogyan tudok keresés alapján darabszámokat kiíratni?
PC
-
Excelbarat
tag
Hi itt egy:
Sub kereso()
Dim acts, lapnev, ufelt, vfelt, wfelt As String
Dim lastRow As Long
acts = ActiveSheet.Name
lapnev = InputBox("Mi legyen az új munkalap neve?", "Lapnév")
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = lapnev
ufelt = InputBox("U oszlop feltétele:", "Feltételmegadás")
vfelt = InputBox("V oszlop feltétele:", "Feltételmegadás")
wfelt = InputBox("W oszlop feltétele:", "Feltételmegadás")
Sheets(acts).Select
i = 1
Do Until Cells(i, 21).Value = ""
If Cells(i, 21).Value = ufelt And Cells(i, 22).Value = vfelt And Cells(i, 23).Value = wfelt Then
Range(Cells(i, 1), Cells(i, 23)).Copy
Sheets(lapnev).Select
If Range("A1") = "" Then
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Else
lastRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
Cells(lastRow, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Sheets(acts).Select
End If
i = i + 1
Loop
Sheets(lapnev).Select
Range("A1").Select
Application.CutCopyMode = False
End Sub -
Delila_1
Topikgazda
Munka1 lapnak nevezem azt, amelyiken az eredeti adataid vannak, Munka2-nek azt, amelyikre másolok.
A Munka1 Y1, Z1, és AA1 celláiba írom be (vagy választom ki érvényesítés segítségével) a 3 adatot.
A Munka2 lapra előre átmásoltam a címsort.Sub Makro()
Dim sor As Integer, usor As Integer, sor1 As Integer
Dim WS1 As Worksheet, WS2 As Worksheet
Dim a$, b$, c$
Set WS1 = Sheets("Munka1") 'Itt változtathatsz
Set WS2 = Sheets("Munka2") 'Itt változtathatsz
usor = WS1.Cells(Rows.Count, "A").End(xlUp).Row
sor1 = 2
a$ = WS1.Range("Y1")
b$ = WS1.Range("Z1")
c$ = WS1.Range("AA1")
'Előző adatok törlése a Munka2 lapon
WS2.Rows("2:5000").Delete shift:=xlUp
For sor = 2 To usor
If WS1.Cells(sor, "U") = a$ And WS1.Cells(sor, "V") = b$ And _
WS1.Cells(sor, "W") = c$ Then
Rows(sor).Copy WS2.Cells(sor1, "A")
sor1 = sor1 + 1
End If
Next
End SubKözben befutott egy másik megoldás is, de ha már megírtam, elküldöm.
[ 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.
-
Attas
aktív tag
válasz Delila_1 #16628 üzenetére
Nagyon szépen köszönöm.. Még nem próbáltam ki, de egy kérdés máris van.. Ez több sor is megtalál? Merthogy azt elfelejtettem, hogy akár 10 adatsor is megfelel a feltételeknek és mind kellene...
[ Szerkesztve ]
"Az élet olyan mint az ásás. Néha pár gyökér feltart, de annak jól odacsapsz és mehetsz tovább!"
-
Attas
aktív tag
válasz Excelbarat #16627 üzenetére
Nagyon köszönöm!!!!
"Az élet olyan mint az ásás. Néha pár gyökér feltart, de annak jól odacsapsz és mehetsz tovább!"
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
Szívesen.
Excelbarátét is próbáld ki, az is működik, csak más elképzelés alapján. Ő inputboxban kéri be a keresendő adatokat, és új lapot kreál hozzá, nem az előző adatok helyére íratja az új kigyűjtést, mint én.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Excelbarat
tag
Használd egészséggel!
Ő talán annyi hogy ebben az új munkalapot létrehozza maga a makró amit meg is kérdez mi legyen a neve és a 3 kritériumot is megkérdezi az elején (csak mind3 teljesülése esetén másol)
És ha a kritériumnak több is megfelel akkor mindet átmásolja. De egyébként meg erre találták ki az irányított szűrőt az egy az egyben ezt csinálja...
Elsőként létrehozod a kritériumot (3 különböző cellában a 3 különböző kritérium vagy akár mennyi)
Utána megkeresed az irányított szűrőt (2010-ben Adatok - Szűrés ikon mellett Speciális) és már csak ki kell jelölni értelemszerűen.Nyomtatás Ctrl+p igaz így még mindig le kell nyomni a két betűt plusz 1 kattintás de ahogy Delila javasolta makrófelvétel megoldja a problémát én is rengeteg dolgot abból tanulok
[ Szerkesztve ]
-
atillaahun
veterán
Ismétlődéseket mivel lehet a legkönnyebben keresni egy sok cellás oszlopban?
Már mindenhogyan beírkáltam az Excel súgójába, meg gugliba is, de semmi értelmeset nem találok rá. -
Delila_1
Topikgazda
válasz atillaahun #16638 üzenetére
Ha pl. az A oszlopban keresed, és címsor is van, a
=DARABTELI($A$2:A2;A2)
függvényt végig másolva mindegyik adatod mellett megjelenik, hányadik alkalommal szerepel az oszlopban.Ügyelj a $ jelekre!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Attas
aktív tag
válasz Delila_1 #16636 üzenetére
Még egy kérdés. A nyomtatási területtel van gondom. Mivel a makróban van egy olyan sor, ami kitörli az előző kereséskor átmásolt találatok sorait, az előzőleg kijelölt nyomtatási terület is megváltozik. Lehet ezt módosítani úgy hogy csak az értékeket törölje?
WS2.Rows("8:5000").Delete shift:=xlUp
Vagy egy olyan makró ami A1:I50 újra kijelöli mint nyomtatási területet?
A nyomtatás makrórögzítéssel....hogy ez miért nem jutott eszembe... Köszönöm előre is"Az élet olyan mint az ásás. Néha pár gyökér feltart, de annak jól odacsapsz és mehetsz tovább!"
-
Delila_1
Topikgazda
válasz atillaahun #16646 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
pigster
senior tag
Sziasztok!
Feltételes formázásnál (Excel 2010) meg lehet oldani, hogy csak a képernyőn legyen hatása, de nyomtatásban nem?
Konkrétan azt szeretném megoldani, hogy egy munkalap védett celláinak legyen valamilyen háttérszíne (ez eddig működik is), de nyomtatásban ez a szín ne látszódjon. Ha esetleg van egyéb megoldás a védett / nem védett cellák kiemelésére azt is szívesen venném...FIGYELEM! A többszázezres Samsung okostévék kéretlen reklámokat tolnak az arcodba.
-
Vladek83
tag
Sziasztok!
Valaki tudna rá megoldást, biztos egyszerű, de nem jövök rá.....?
Van egy Userform lapom amin választó gombok szerepelnek. A szerepük, hogy egy adott lapot nyissanak meg majd az űrlapot zárja be. Van egy makró csak olyan mintha nem lenne aktív az adott lap ( nem lehet írni, görgetni stb. )
Private Sub OptionButton1_Click()
Sheets("Munka1").Select
Kezdolap.Hide
End SubElőre is köszönöm.
-
Excelbarat
tag
válasz Vladek83 #16649 üzenetére
Hi!
A makróval semmi probléma, esetleg annyi hogy még hivatkozhatsz egy adott cellára és akkor talán nem lesz ilyen. (De lehetséges hogy maga a munkalap le van kódolva)
Egyébként a munkafüzeten belüli navigálás makró nélkül is meg lehet oldani!
Rajzolsz egy téglalapot - Hivatkozás hozzáadása - Balra kiválasztod a dokumentum egy adott pontja - beírod hogy melyik cella!
Természetesen Useform-al is meg lehet oldani ahogy te csináltad
Private Sub OptionButton1_Click()
Sheets("Munka1").Select
Range("A1").Select
Kezdolap.Hide
End SubLehet a kódodban valahol bent vagy egy felesleges karakter mert bemásolva nálam sem működött de ha meg magam írtam meg akkor lefutott!
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Vírusirtó, Antivirus VPN kulcsok
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )