- moha bácsi: VIII. Viharsarki Hobbi Elektronika Találkozó Békéscsaba 2025.06.14. szombat
- sziku69: Szólánc.
- Elektromos rásegítésű kerékpárok
- Parci: Milyen mosógépet vegyek?
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- bambano: Bambanő háza tája
- Magga: PLEX: multimédia az egész lakásban
-
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
-
Attas
aktív tag
Sziasztok!
Kérhetnék egy olyan makrót, ami egy munkafüzet bezárásakor kitörli a Muna3 lap, B, C, D, E, F, oszlopok 4 cellájától lefele, addig amíg van adat? (ez változó, van mikor 70000 ezer sor de van hogy ennek többszöröse. (A tartomány elnevezése nem olyan jó, mert ennyi cellát nem lehet egyben elnevezni)Köszönöm előre is a segítséget
-
psg5
veterán
Sziasztok!
Adott egy tábla, első oszlopban nevek, utána van olyan oszlop melyben 1-es számmal van jelölve egy megfelelőség.
Hogyan tudom, milyen képlettel kiíratni egymás utánra,hogy azokat a sorokat dobja ki, ahol van egyes beírva az egyik oszlopban? Ha nem egy sima szűréssel (hogy csak a nem üreseket szűrjem.) -
nimmy001
csendes tag
Sziasztok,
Van két munkafüzetünk, A1 és A2, az lenne a cél, hogy A2 azonos lapján azonos cellái ugyanúgy nézzenek ki, mint A1-ben. Az érték valós idejű változása képlettel rendben van, viszont formázást és láthatóságot is szeretnénk pont ugyanúgy megjeleníteni, tehát ha A1 táblázat Munka1 lapján A1 cella háttere piros, akkor A2 táblázatban ugyanennek a cellának a háttere is legyen piros, és ha mondjuk A1 táblázatban a 20. sor el van rejtve, akkor A2 táblázatban is legyen elrejtve. A2 táblázatnak nem szabad befolyással lennie A1 táblázatra, de pontosan ugyanúgy kell kinézniük. Két külön munkafüzetben kell lenni ezeknek.
-
Vladek83
tag
Sziasztok!
Kérnék egy kis segítséget...
Van egy táblázatom, ott az első sort rögzítem (látható maradjon), viszont szeretném ugyan ebben a táblázatban 40. sort is rögzíteni... (ez nem sikerül..)
Előre is köszönöm.
-
lappy
őstag
válasz
Térközjelző #20189 üzenetére
Szia!
Neked ez kell :=HA(ÉS(D1<$B$2;$B$2<=E1);IGAZ;"") -
Attas
aktív tag
válasz
Delila_1 #20187 üzenetére
Szia Delila!
Mint már oly sokszor, most is köszönöm a segítséged! Valamiért nem működik. Kicsit átalakítottam, mert azt szeretném, ha a makró tartalmazná a keresési feltételeket. Vagy esetleg a Munk4 A1 és B1 cellája. A makró lefut de nem visz át időadatot.Sub Atmasol()
Dim WS As Worksheet, sor As Long, usor As Long, v$, WF As WorksheetFunction
Dim oszlop As Integer, sor1 As Long, f As Boolean
Application.ScreenUpdating = False
Set WF = Application.WorksheetFunction
Sheets("Adatok").Activate
v$ = "C"
If v$ = "B" Or v$ = "b" Then
Set WS = Sheets("Munka2")
oszlop = 2
v$ = "AF230"
GoTo Keres
End If
If v$ = "C" Or v$ = "c" Then
Set WS = Sheets("Munka1")
oszlop = 3
v$ = "AF0230M01SP1-Station2"
GoTo Keres
End If
Exit Sub
Keres:
usor = WF.CountA(Columns(oszlop))
f = False
For sor = 1 To usor
If Cells(sor, oszlop) = v$ Then
If WS.Range("C6") = "" Then sor1 = 6 Else sor1 = WS.Range("C" & Rows.Count).End(xlUp).Row + 1
Cells(sor, "D").Copy WS.Cells(sor1, "C")
f = True
End If
Next
'Rendezés
WS.Activate
Range("C6").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("C6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets("Adatok").Activate
Application.ScreenUpdating = True
End Sub -
Térközjelző
csendes tag
Sziasztok!
Erre van valakinek 5lete?
Az elsőnek kapott végeredmény tetszett,
mert az nem függ az Excel től, mert és függvény mindegyikben van.
Az egész eredmény egy kategóriával feljebb/ jobbra tolnánk, akkor pont megfelelő lenne.
Nem sikerül kisütni a megoldást, mert több IGAZ értéked ad a szükségesnél.
Köszönöm az eddigi segítő szándékot.
-
Delila_1
veterán
válasz
Rihard83 #20185 üzenetére
Tegyél ki egy gombot, ahhoz rendeld a makrót. Kijelölöd a másolandó tartományt, a gombra klikkelve átmásolja a Másik lap A oszlopának aljára.
Sub Masol()
Dim sor As Long, WF As WorksheetFunction, WS As Worksheet
Set WF = Application.WorksheetFunction
Set WS = Sheets("Másik lap")
sor = WS.Application.WorksheetFunction.CountA(WS.Columns(1)) + 1
Selection.Copy WS.Range("A" & sor)
End Sub -
Delila_1
veterán
Azt nem írtad, hogy ha a B oszlopból választasz kigyűjtendő adatot, hova írja. Úgy írtam meg a makrót, hogy B választáskor a Munka2, C-nél pedig a Munka1 lapra gyűjtsön ki.
Az adatokat az Adatok lap tartalmazza. Ezt kell átírnod a makróban 2 helyen a saját lapod nevére.Sub Atmasol()
Dim WS As Worksheet, sor As Long, usor As Long, v$, WF As WorksheetFunction
Dim oszlop As Integer, sor1 As Long, f As Boolean
Application.ScreenUpdating = False
Set WF = Application.WorksheetFunction
Sheets("Adatok").Activate
v$ = Application.InputBox("B, vagy C oszlop szerint akarsz másolni?", "Oszlop választás", , , , , , 2)
If v$ = "B" Or v$ = "b" Then
Set WS = Sheets("Munka2")
oszlop = 2
v$ = Application.InputBox("Kérem a keresendő B értéket", "Adat választás", , , , , , 2)
GoTo Keres
End If
If v$ = "C" Or v$ = "c" Then
Set WS = Sheets("Munka1")
oszlop = 3
v$ = Application.InputBox("Kérem a keresendő C értéket", "Adat választás", , , , , , 2)
GoTo Keres
End If
MsgBox "B vagy C értéket írhatsz", vbOKOnly + vbExclamation
Exit Sub
Keres:
usor = WF.CountA(Columns(oszlop))
f = False
For sor = 1 To usor
If Cells(sor, oszlop) = v$ Then
If WS.Range("C6") = "" Then sor1 = 6 Else sor1 = WS.Range("C" & Rows.Count).End(xlUp).Row + 1
Cells(sor, "D").Copy WS.Cells(sor1, "C")
f = True
End If
Next
'Rendezés
WS.Activate
Range("C6").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("C6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets("Adatok").Activate
Application.ScreenUpdating = True
If f = False Then MsgBox "Nincs a tartományban " & v$ & " érték", vbOKOnly
End Sub -
DonThomasino
veterán
Mitől tűnnek el a celllák szélei
hogy lehet visszaállítani? -
Rihard83
tag
Sziasztok!
Megoldható-e excelben hogy pl. vannak különböző tételek
1.Tv ár 200e
2.Hifi ár 150e
3.dvd lejátszó ár 100eés van vagy 100 tétel, de persze a név és árak mellett több dolog is felvan tüntetve. Na most azt akarnám hogy a száz felsorolt tételből mondjuk hármat egy új oldalra akarok helyezni és ne kelljen kijelölnöm copy/paste-znem egy másik oldalra, hanem valamilyen módon megjelölöm a kivánt termékeket és azt automatikusan, másik oldra tegye egyenként egymás után.
Köszi előre is a válaszokat!
-
Attas
aktív tag
Sziasztok!
Segítséget szeretnék kérni egy makró megírásában. A feladatom az lenne, hogy van egy, a képen is látható adathalmazom. (a kép csak egy része, az adathalmaz 70000 sorig tart, de nem mindig van addig betöltve) Olyan makróra lenne szükségem, amibe beírom, hogy a C oszlopban keresse ki azokat a cellákat amiben az szerepel pl., hogy "AF0250M01SP1" és ha talál ilyet, akkor a mellette a D oszlopban szereplő időadatot (időformátumba másolja be a Munka1 C6-ba majd a következőt találatnál a C7-be...stb, de a végén a sok száz talált és átvitt időadatot még tegye növekvő sorrendbe is. Valamint egy ugyanilyen makró, azzal a különbséggel, hogy a keresendő feltételt a B oszlop tartalmazza. Tehát "AFS" re keres és az vele egy sorba lévő időadatot másolja illetve rendezi majd növekvő sorrendbe. Tudom hogy nagy kérés, de nagyon elakadtam.
Előre is köszönöm az iránymutatást és a segítséget!!
Üdv
Attas -
Delila_1
veterán
válasz
Törpella #20181 üzenetére
Az And után legyen egy szóköz, majd az alsó kötjel. Ez jelzi a belső fordítónak, hogy az utasítás folytatódik a következő sorban.
Lehet, hogy a forma csak itt jelenik meg tördelve, és az egyes utasításokat nem tudja értelmezni a VBA. Ezen úgy segíthetsz, hogy a bővítményeknél bekapcsolod a két Analysis kezdetűt. Verziótól függ, hol találod meg ezeket. Ha így sem jönne össze, küldd el privátban a füzetet.
-
Törpella
csendes tag
válasz
Delila_1 #20162 üzenetére
Köszönöm a segítséged :-)
Sajnos valamit nem csinálok megfelelően, mert
ezt az üzit kapom:Run-time error '13':
Type mismatchDebug után ezt emeli ki:
If WF.CountA(Range("F" & sor & ":H" & sor)) = 3 And Range("K" & sor) <> "" And _
WF.CountA(Range("P" & sor & ":Q" & sor)) = 2 ThenValamit elrontottam?
Egy "Save" gombhoz akartam hozzárendelni a megírt makrót, de nem sikerül... :-(
Esetleg még egy kis segítség, tanács...?
Az, hogy tanuljam meg, ezek után az elsők között van a listán... -
Mutt
senior tag
válasz
the radish #20176 üzenetére
Hello,
... "X" ... legyen mondjuk a munka1 A1 celllában.
MyNote = "Helyezz a nyomtatóba " & Sheets("Munka1").Range("A1") & " papírt!"
üdv
-
válasz
the radish #20176 üzenetére
Dim Answer As String
Dim MyNote As String
Dim Papirlap As String
Papirlap=Worksheets("Munka1").Cells(1,1)
'Place your text here
MyNote = "Helyezz a nyomtatóba " & Papirlap & " papírt!"
'Display MessageBox
Answer = MsgBox(MyNote, vbQuestion + vbYesNo, "Lapok nyomtatása")
If Answer = vbNo Then
MsgBox "Akkor majd később.", vbInformation, "Ejnye-bejnye..."
'Code for No button Press
Else
'Code for Yes button Press -
the radish
senior tag
Sziasztok!
Lenne az alábbi üzenet:
Dim Answer As String
Dim MyNote As String
'Place your text here
MyNote = "Helyezz a nyomtatóba "X" papírt!"
'Display MessageBox
Answer = MsgBox(MyNote, vbQuestion + vbYesNo, "Lapok nyomtatása")
If Answer = vbNo Then
MsgBox "Akkor majd később.", vbInformation, "Ejnye-bejnye..."
'Code for No button Press
Else
'Code for Yes button PressSzóval az "X" papír kéne, hogy egy számra mutasson, az legyen mondjuk a munka1 A1 celllában.
Köszi előre is.
-
Térközjelző
csendes tag
válasz
detroitrw #20123 üzenetére
Köszönöm szépen a gyors segítséget!
Elnézést, de most jutottam gép közelbe.
Az elrendezés, és egyebek tökélete lett.
Mivel nem fogalmaztam pontosan ezért akad a dologgal egy kis probléma:
A kategóriák nem pontosan az utazás hosszát adják, hanem pl az adott távom érvényes menetjegyek kategóriáját, valahogy így:
84km >> 90-es kategória, mert 80 fölött még 4 km le kell utazni
36km >> 40-es kategória, mert 35 fölött még 1 km le kell utazni
92km >> 100-as kategória, mert 90 fölött még 2 km le kell utazniEbből is látszik, hogy a köznapi életben elég felületesen fogalmazunk.
Köszönöm szépen.
-
zhari
csendes tag
Olyat tud az Excel, hogy például egy szumhatöbb függvénynél megmondja h melyik kritérium tartomány krtitérium páros miatt mennyire szűkíti le az eredményt. Képletezés javításnál szerintem hasznos lenne, mikor van pl 8 kritérium tartomány.
-
the radish
senior tag
válasz
the radish #20172 üzenetére
Közben megoldódott.
Ha valakit érdekel:
[link] -
the radish
senior tag
Sziasztok!
Adott az alábbi macro:
Sub Mail_Workbook_1()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
' Change the mail address and subject in the macro before you run it.
With OutMail
.To = "akármi@akármi.hu"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.Body = "Hello World!"
.Attachments.Add ActiveWorkbook.FullName
' You can add other files by uncommenting the following line.
'.Attachments.Add ("C:\test.txt")
' In place of the following statement, you can use ".Display" to
' display the mail.
.Send
End With
On Error GoTo 0Azonban 2003-as office-ban küldés előtt ez az ablak jelenik meg és nem is küldi el, csak ha az igen-re klikkelek:
(2013-asban jól működik)
Kérdés: Van-e lehetőség arra, hogy kérdés nélkül küldje az emailt?
-
csferke
senior tag
Szia!
Köszi ez szuper.
(Ha azt akarod, hogy mondjuk az első 2 sor semmiképp ne legyen kiszínezve, mert ott fejléc van, akkor erre bővítheted: =AND(NOT(ISBLANK(D1));D1<TODAY();ROW()>2)Azonban az eredményt látva most jöttem rá, hogy még 1 feltételnek kel teljesülnie, hogy pontosan az legyen a mit szeretnék.
A 2. feltétel (E_oszlop_cellája - F_oszlop_cellája)>0köszi
-
forgat
tag
Sziasztok! Segítségre lenne szükségem, van két xls, mind a kettő első oszlopa az ID azonosítót tartalmazza, de a két táblázatban nem egyforma sorrendben vannak az sorok /így az ID sem/ és szeretném a két xls sorait azonos ID alapján összefüzni, az azonos id-hez tartozó adatoknak egy sorba kellene kerülniük
-
Delila_1
veterán
válasz
the radish #20167 üzenetére
Örülök, hogy sikerült.
-
Delila_1
veterán
válasz
the radish #20165 üzenetére
Range("B" & sor & ":C" & sor).Copy
Sheets("MásikLap").Range("A1").PasteSpecial Paste:=xlPasteValuesNem lesz tapsikoló figura, ha kijelölöd a képletet, és Konvertálatlan gombot nyomsz.
-
the radish
senior tag
válasz
Delila_1 #20164 üzenetére
Sajnos elakadtam és ez megint annak köszönhető, hogy először nem fogalmaztam elég pontosan.
Szóval két dolog lenne:Cells(sor, "B").Copy Sheets("MásikLap").Range("A1")
A C oszlop tartalma is kéne (B
), azt hogy tudom meghatározni? (Próbáltam a "B"&"C" formátumot, de csak tipp volt és természetesen nem jó.
+1 Csak értéket szeretnék átmásolni. (Irányított beillesztés / érték.)
-
Delila_1
veterán
válasz
the radish #20163 üzenetére
Szívesen.
-
Delila_1
veterán
válasz
Törpella #20159 üzenetére
Feltételezem, hogy mindkét lapon van címsorod.
Sub masolas()
Dim sor As Long, usorA As Long, usorM As Long, WF As WorksheetFunction
Sheets("Adatok").Select
Set WF = Application.WorksheetFunction
usorA = Range("F" & Rows.Count).End(xlUp).Row
For sor = 2 To usorA
If WF.CountA(Range("F" & sor & ":H" & sor)) = 3 And Range("K" & sor) <> "" And _
WF.CountA(Range("P" & sor & ":Q" & sor)) = 2 Then
usorM = WF.CountA(Sheets("Mentett").Columns(1)) + 1
Range("F" & sor & ":H" & sor).Copy
Sheets("Mentett").Range("A" & usorM).PasteSpecial Paste:=xlPasteValues
Range("K" & sor).Copy
Sheets("Mentett").Range("D" & usorM).PasteSpecial Paste:=xlPasteValues
Range("P" & sor & ":Q" & sor).Copy
Sheets("Mentett").Range("E" & usorM).PasteSpecial Paste:=xlPasteValues
End If
Next
End Sub -
Psytróger
tag
Sziasztok!
Megoldható valahogy hogy egy excel cellán belül valamiféle pontozásos sorvezetés legyen? Ilyesmire gondolok mint az A1 cellában:
http://i.snag.gy/Pu1gC.jpg
Csak én ugye beírtam a pontokat, kérdés hogy ezt lehet-e valahogy automatizálni... Illetve ha igen akkor a sorköz mértéke állítható?
Köszi előre is! -
Delila_1
veterán
válasz
the radish #20157 üzenetére
Sub Feltetel()
Dim sor As Long
For sor = 1 To 18
If Cells(sor, "A") = 1 Then
Cells(sor, "B").Copy Sheets("MásikLap").Range("A1")
Sheets("MásikLap").Range("A1:I30").PrintOut Copies:=1, Collate:=True
End if
Next
End SubA másolás területét írd át a saját területed címére.
-
Törpella
csendes tag
Sziasztok, kellene egy kis segítség...
Amit Excelben elértem:
Egy adathalmazból vadászom ki függvények segítségével termékazonosító, vonalkód utolsó számjegyei vagy kötegszám alapján a szükséges adatokat, ez működik is rendesen.Szeretném egy másik munkalapra elmenteni ezeket a kinyert adatokat.
Amit szeretnék elérni:
Adatok munkalapfül F,G,H,K,P,Q oszlopainak sorait amennyiben nem üresek (a sorokban a cellák természetesen összetartozó adatokat tartalmaznak) szeretném átmásolni a Mentett munkalap A - F oszlopainak soraiba úgy, hogy az Adatok munkalapfülről mentésre kerülő minden sor a Mentett munkalapon a következő üres sorba kerüljön (felülírást elkerülendő), és értékként legyen beillesztve (tehát a függvények ne működjenek tovább és a dátum is /Adatok P oszlopából/ változatlan maradjon. Plusz szeretném a Mentett munkalap minden mentett sorának végére (G oszlop) odabiggyeszteni az Adatok munkalapfülön a W1 cellában levő nevet, ami napról-napra változhat.Próbáltam egyszerű makrófelvétellel, de mivel az Adatok munkalapfülön a kitöltött sorok száma szintén napról-napra változhat, így ez a megoldás amellet, hogy túl bonyolult, nem vezetett eredményre.
A legegyszerűbb megoldás asszem simán kijelölni és átmásolni a kitöltött adatokat, hogy azután a Mentett munkalapról tovább tudjak dolgozni függvényekkel, pivottal, stb., de egy stabilabb és belevalóbb megoldást megbízhatóbbnak tartok :-)
Attól tartok, hogy valódi makróírás nélkül nincs megoldása a feladatnak, azonban az én tudásom ehhez nem elég még.
Ötlet valakinek...? :-)
-
the radish
senior tag
+1:
Adott az alábbi 2013-as adatbázis:
Szeretném ha az idén látnám, tavaly azonos napon (pl. pénteken) a kolléga hány ügyletet bonyolított le. Az FKERES függvényre tippelek, de nem jövök rá a megoldásra.
Tehát tegyük fel:
Szabó az idén január 19.-án 26, mellette a cellában pedig látnám, hogy 2013.01.20.-án az ezzel szemben 32 ügyletet bonyolított le.Előre is köszi.
-
the radish
senior tag
válasz
Delila_1 #20136 üzenetére
Sub Feltetel()
Dim sor As Long
For sor = 1 To 18
If Cells(sor, "A") = 1 Then Cells(sor, "B").Copy Sheets("MásikLap").Cells(sor, "I")
Next
End SubEzen kéne úgy módosítani, hogy a "MásikLap" A1 cellájába másolódjon minden, nyomtatás és jöhet a következő másolás.
Megoldható ?
Előre is köszi. -
psg5
veterán
Excel megnyitás védelmét, elfelejtett jelszó után ki lehet iktatni vagy valahogy megnézni/kinyerni az excel tartalmát?
-
Mutt
senior tag
válasz
BenJoe80 #20150 üzenetére
Megnézem ha akarod, de az Excelben a szum függvények, mindig 1 tartományt összegeznek.
Vagyis 2x kell használnod ugyanazt a képletet, csak az összegző tartományokban lesz eltérés.2007 előtt több feltételre való szűrést csak SZORZATÖSSZEG-el vagy CSE függvénnyel lehet eléni.
Nagyjából ez lenne az elképzelés: [Tartomány1 ÉS Tartomány2];kritérium;[Összeg1 ÉS Összeg2]
A fenti logikára ez a CSE képlet van:
{=SZUM(HA(Tartomány1&Tartomány2=kritérium&kritérium;VÁLASZT({1\2};Összeg1;Összeg2);))} -
Mutt
senior tag
válasz
Térközjelző #20120 üzenetére
Hello,
2007 vagy újabb Excelben a DARABHATÖBB függvény tud segíteni.
A képlet pl. 5-10 km közötti futások esetén:
=DARABHATÖBB(L:L;L:L;">=5";L:L;"<10")5 km-ig illettve 100 felett, pedig egyszerűen:
=DARABTELI(L:L;"<5") és =DARABTELI(L:L;">=100")Régebbi Excel verziókban a DARABHATÖBB helyett SZORZATÖSSZEG-gel fog műkődni:
=SZORZATÖSSZEG(--(L:L>=5);--(L:L<10))üdv.
-
Mutt
senior tag
válasz
nzsolt74 #20112 üzenetére
Hello,
...Az első oszlop 14 soronként ugyanaz, ezekből szeretnék egy új lapon 14 oszlopot fejléccel...
Makrós megoldásod van már, de ezt képletekkel is el lehet érni, mivel az adatod struktúrált.
A lényeg, hogy az új lapodon a második sorban a Név mezőbe a másik lap 1 sorát, a 15-et, a 29-et stb. kell kiíratni.
Ez az alábbi logikával írható le: 14*{0;1;2;3..}+1
Excelben a képleted: =14*(SOR()-2)+1 (2-t kell kivonnunk mert az elsőben fejléc van már)A születési idő a 2, 16, 30 stb. sorokban van, ahol a képlet a fentiektől csak annyiban tér el, hogy nem 1-et, hanem mindig 2-t kell adni az elsőrészhez.
Mivel a név az első oszlopban van, a születési idő a másodikban (és így tovább), ezért ha használjuk az OSZLOP függvényt akkor nem kell nekünk megadni, hogy egyik esetben 1-et, a másikban 2-t stb. kell hozzádni. Vagyis az univerzális képlet: =14*(SOR()-2)+OSZLOP()
Már csak cella hivatkozás kell, amelyre az INDIREKT függvény szolgál.
A végső képlet tehát: =INDIREKT("Masiklap!B"&14*(SOR()-2)+OSZLOP())Ezt másold le jó sokszor, hogy biztos lefedd a másik lapon összes sorát (10000 sor esetén elgé 715 sorba).
A képlet ott ahol üres a cella 0-t fog kírni, ezt el tudod tüntetni ha vizsgálod a SZÖVEG.E függvénnyel, hogy kaptál-e adatot vissza.
üdv.
-
BenJoe80
senior tag
Na igen. Excel 2003-m van és abban nincsen SZUMHATÖBB. Végül is sikerült megoldanom, de nem valami elegáns módon. Az én módszerem az az volt, hogy egy összegző lapon (AUX) egy oszlopba írattam az együvé tartozó adatokat (A/C, Debits, Credits), amik különben két részre voltak osztva (Petty Cash és Bank Account). Ilyenformán már működött a SZUMHA egyenlet a táblázatban:
=SZUMHA('[2014 RaBe.xls]AUX'!$A$2:$A$63;"1000";'[2014 RaBe.xls]AUX'!$B$2:$B$63)
Azért az általad ajánlott megoldást mindenképpen ki akarom próbálni, mert piszkálja a csőrömet. Az nem létezik, hogy az Excel 2003 nem tudja a feladatot megoldani, ha az összetartozó adatok nem egy oszlopban vannak (A/C, Debits, Credits)?
Nagyjából ez lenne az elképzelés: ["A" taromány "B" tartomány];kritérium;["A" összeg tartomány "B" összegtartomány]
Privátban elküldöm a két táblázatot!
-
Mutt
senior tag
-
Mutt
senior tag
válasz
BenJoe80 #20082 üzenetére
Szia,
Viszont azt nem tudom elérni, hogy ne csak a készpénz számla tartományát (E5:E35), hanem a bankszámlaszám tartományát (L5:L35) is vizsgálja.
Szerintem 2 SZUMHA kell neked, mivel nem egysoron belül akarod a 2 ellenőrzést:
=SZUMHA($E$5:$E$35;$B$5:$B$35;1000)+SZUMHA($L$5:$L$35;$I$5:$I$35;1000)
Ha mégis azt kell összesíteni amikor egy sorban mind a B, mind az I oszlopban mondjuk 1000 van, akkor
SZORZATÖSSZEG tud segíteni neked SZUMHATÖBB hiányában. Ebből is kettő lesz, különben az összegeket összeszorozná és nem szummázná:
=SZORZATÖSSZEG(--($B$5:$B$35=1000);--($I$5:$I$35=1000);$E$5:$E$35)+SZORZATÖSSZEG(--($B$5:$B$35=1000);--($I$5:$I$35=1000);$L$5:$L$35)Vagy egy nem szebb CSE függvény is ugyenerre jut:
{=SZUM(IF($B$5:$B$35=1000;HA($I$5:$I$35;$E$5:$E$35;0);0);IF($B$5:$B$35=1000;HA($I$5:$I$35;$L$5:$L$35;0);0))}üdv
-
Mutt
senior tag
válasz
Gandalf80 #20069 üzenetére
Hello,
..A oszlopban dátumok vannak...terjedö idöszakban számolja össze az adatokat. De ezt úgy,h két külön cellàba adom meg a kezdö és végdàtumot.
Ugyanazt a tartományt többször is felhasználhatod szűrési feltételenek, ha pl. a B-oszlopot akarod összeszámolni és a kezdődátum D1-ben, a végdátum E1-ben van, akkor:
=SZUMHATÖBB(B:B;A:A;">="&D1;A:A;"<="&E1)üdv.
-
Mutt
senior tag
válasz
kekec@ #20061 üzenetére
Hello,
Excel és Outlook összehangolására a legjobb oldal sok esettel és mintával ez:
http://www.rondebruin.nl/win/section1.htmüdv.
-
Mutt
senior tag
Hali,
..menjen végig az oszlop minden elemén a kiolvasás de csak a ":"-ig tartalmazó részt olvassa be és írja egy másik cellába...
Igazából makró nélkül függvénnyel is meg lehet oldalni, de itt makrós megoldás, amely a kijeltölt oszlopon megy végig és teszi tőle 2-vel jobbra az értékeket (ha nincs kettőspont a szövegben, akkor az eredeti szöveget másolja):
Sub KettosPont()
Dim rngAdatsor As Range
Dim cella As Range
Dim Szetvalaszt 'ebben a tömben tároljuk a tagolt eredményt
Const eltolas As Long = 2 'ennyivel jobbra lesz az eredmény
'a kijelölés és a használt cellák metszetén fogunk végig menni
Set rngAdatsor = Intersect(Selection, Selection.Parent.UsedRange)
For Each cella In rngAdatsor
'csak ha van adat a cellában, akkor célszerű feldolgozni
If Len(cella) > 0 Then
Szetvalaszt = Split(cella, ":")
cella.Offset(, eltolas).Value = Szetvalaszt(0)
End If
Next cella
End Subüdv
-
Mutt
senior tag
válasz
csferke #20059 üzenetére
Hello,
..D oszlop celláit szeretném feltételes formázással színezni.. ha nem üres és tartalma (dátum) kisebb (régebbi) mint a mai nap...
Az ISBLANK függvénnyel tudod megnézni, hogy a cella üres-e. Mivel neked nem az üres kell, ezért a NOT függvénybe ágyazva a nem üres cellákra fog igazat adni.
A következő lépés már csak, hogy akkor teljesüljön a formázás ha mindkét feltétel igaz. Ebben az AND függvény tud segíteni, mert csak akkor ad vissza igazat, ha minden paramétere igaz.A feltételes formázásánál a fentiek alapján így alakul a képleted:
=AND(NOT(ISBLANK(D1));D1<TODAY())(Ha azt akarod, hogy mondjuk az első 2 sor semmiképp ne legyen kiszínezve, mert ott fejléc van, akkor erre bővítheted: =AND(NOT(ISBLANK(D1));D1<TODAY();ROW()>2)
üdv.
-
Mutt
senior tag
Hello,
Megkésve, de vmi ilyen kóddal lehet automatizálni a feladatot.
Sub Masol()
Dim rngForras As Range
Dim wsTarget As Worksheet
'kijelöljük a forrás lapot
Set rngForras = ActiveSheet.Cells
'ha csak az aktuális tartomány kell akkor
'Set rngForras = ActiveSheet.Cells.CurrentRegion
'új lapot hozunk létre
Set wsTarget = ThisWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count))
'másoljuk a forrást az új helyre
rngForras.Copy
With wsTarget
Application.ScreenUpdating = False
Dim vLastRow
Dim i As Long
Const DataCol As String = "C"
Const StartRow = 2
'beíllesztjük a forrást
.Paste
'kikeressük az utolsó sort
vLastRow = .Cells(.Rows.Count, DataCol).End(xlUp).Row
'beszúrás előtt számoljuk az F és G oszlop különbségét és M oszlopba tesszük, hasonló módon N-be is tudod tenni
.Range("M" & StartRow).Resize(vLastRow - StartRow + 1).FormulaR1C1 = "=RC[-7]-RC[-8]"
'a képleteket számmá alakítjuk
.Range("M" & StartRow).Resize(vLastRow - StartRow + 1) = .Range("M" & StartRow).Resize(vLastRow - StartRow).Value
'elindutjuk a keresést alulról felfelé menve
For i = vLastRow To 2 Step -1
'ha nem egyezik, akkor beszúrunk egy sort
If .Cells(i, DataCol).Value <> .Cells(i - 1, DataCol).Value Then
.Rows(i).Insert
'a számlálót is frissítenünk kell mert eggyel több sorunk lett
i = i - 1
End If
Next i
Application.ScreenUpdating = True
End With
End Subüdv.
-
Mutt
senior tag
válasz
nimmy001 #20066 üzenetére
Hali,
Felraktam ide egy Worksheet eseményeken alapuló mintát. Gyakorlatban nem próbáltam, de többfelhasználósan is múködhet.
Itt mindenkinek van egy lapja (saját névvel), ahova a fájl megnyitásakor a rendszer be is rakja; más munkalapjait nem láthatja a felhasználó. Továbbá van egy közös lap, ahol most egy egyszerú számítás és grafikon van.A másik példa már összetettebb, mert egy UserForm-ot használ és rejtett lapokról szedi/teszi az adatokat. Ez többfelhasználós környezetben rendesen működik, de sokkal bonyolultabb is.
üdv.
-
Delila_1
veterán
válasz
the radish #20138 üzenetére
Szívesen.
-
Delila_1
veterán
válasz
the radish #20133 üzenetére
Adatok | Szűrő | Irányított szűrő | Csak az egyedi rekordok megjelenítése.
-
Delila_1
veterán
válasz
the radish #20131 üzenetére
Sub Feltetel()
Dim sor As Long
For sor = 1 To 18
If Cells(sor, "A") = 1 Then Cells(sor, "B").Copy Sheets("MásikLap").Cells(sor, "I")
Next
End SubA feltétel sorában a másolás helyét (Copy és szóköz után) írd át.
-
detroitrw
addikt
válasz
the radish #20133 üzenetére
adatok/adateszközök/ismétlődések eltávolítása?
-
the radish
senior tag
válasz
Delila_1 #20129 üzenetére
Hopsz, tényleg egy kicsit pontatlanul fogalmaztam, ráadásul egy konkrét makrót másoltam be, ami nem ide kell, az csak példa.
Tegyük fel:
Ha A1 = 1, akkor a makró a B1 cella tartalmát átmásolja valahova.
Ha A1 = 0, akkor a makró a B1 cella tartalmát nem másolja sehova, hanem
végrehajtódik a következő utasítás, mely:Ha A2 = 1, akkor a makró a B2 cella tartalmát átmásolja valahova (2).
Ha A2 = 0, akkor a makró a B2 cella tartalmát nem másolja sehova, hanem
végrehajtódik a következő utasítás, mely:Ha A3 = 1, akkor a makró a B3 cella tartalmát átmásolja valahova (3).
Ha A3 = 0, akkor a makró a B3 cella tartalmát nem másolja sehova, hanem
végrehajtódik a következő utasítás, mely:ez kb. 18x majd vége.
Még egyszer bocs a pontatlanságért.
-
Delila_1
veterán
válasz
the radish #20125 üzenetére
A kérdésed szerint ha az A1 cella üres, akkor legyen, vagy ne valami. Később azt írod, hogy ha 0, akkor... Nem mindegy. Melyik az igazi?
Az első 7 sor helyett ezt írhatod, és ez a többi részre is vonatkozik:
Sheets("00").Range("S7,U7:V7").Copy
Sheets("Vágólap").Range("I2").PasteSpecial Paste:=xlPasteValuesAz utána következő részben láthatóvá teszed a Csekk.xls füzetet, de ezzel nem az lesz az aktív. Nem derül ki számomra, hogy melyik füzet tartományát akarod nyomtatni.
Miért szelektálsz néhány cellát a mentés előtt (Range("A6:C6").Select)?
Többször írod a feltételt, de mindegyik rész csak akkor fusson, ha egy bizonyos cella értéke 0. Ha az érték 1, akkor mi fusson, hiszen nincs "következő" ?
-
marec1122
senior tag
a hardmadik problémám pedig az lenne hogy összefűzök 2 cella tartalmat. ez 2 szövegrészlet mely együtt egy url-t ad ki. az a gond hogy ha belekattintok a cellába nem a szöveget adja eredményül hanem a képletet. tehát nem tudom kimásolni az eredményt sehogyan sem.
-
Gempas 70
aktív tag
Sziasztok!
Ajánlana nekem valaki free office-t honnan szerezhetnék? Csak alap felhasználásra kéne és ezért nem vásárolnék... Vagy a Microsoftnak is van??
Előre is THX
-
marec1122
senior tag
sziasztok!
azt hogy lehet beállítani egy excelbe hogy a nem aktív cellákat ne írja ki teljes szélességben csak annyira amennyire a cella mérete engedi és csak akkor lássam a teljes szöveget ha rákattintok a cellára?
a másik kérdésem z lenne hogy megoldható lenne e egy fügvénnyel hogy egy cella tartalmát egy adott karakterig másolja egy másik cellába?
-
the radish
senior tag
Sziasztok!
Szeretnék egy makrót úgy átalakítani, hogy ha tegyük fel az A1 cella üres, akkor lépjen tovább és a következő része fusson le, de ha mondjuk 1, akkor fusson le az adott rész is.
Ide kéne valami, ha 0, akkor a következő fusson, ha 1, akkor ez is.
Sheets("00").Select
Range("S7,U7:V7").Select
Range("U7").Activate
Selection.Copy
Sheets("Vágólap").Select
Range("I2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Csekk.xls").Visible = True
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("00").Select
Range("A66").Select
ActiveWorkbook.SaveIde kéne valami, ha 0, akkor a következő fusson, ha 1, akkor ez is.
Sheets("00").Select
Range("S8,U8:V8").Select
Range("U8").Activate
Selection.Copy
Sheets("Vágólap").Select
Range("I2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Csekk.xls").Visible = True
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("00").Select
Range("A66").Select
ActiveWorkbook.SaveIde kéne valami, ha 0, akkor a következő fusson, ha 1, akkor ez is.
Sheets("00").Select
Range("S10,U10:V10").Select
Range("U10").Activate
Selection.Copy
Sheets("Vágólap").Select
Range("I2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Csekk.xls").Visible = True
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("00").Select
Range("A66").Select
ActiveWorkbook.Save
...Köszi előre is.
-
vigyori78
őstag
Sziasztok.
Szeretnék office 2007-rőr 2013-ra áttérni.
A kérdésem az lenne,hogy a kompatibilitással nincs gond ha 13-al csinálom az excel-t akkor teljes mértékben működni fog 07 alatt is? Gondolom a mentés másként közt van ilyen opció?
Köszi. -
detroitrw
addikt
válasz
Térközjelző #20121 üzenetére
én egy ilyennel oldanám meg: klikk
ha ez megfelel akkor a táblázat cellái így néznek ki pl.
H2: =ÉS(H$1<=$G2;I$1>=$G2)
A2: =DARABTELI(H:H;IGAZ) -
Térközjelző
csendes tag
válasz
Térközjelző #20120 üzenetére
A szóközök eltűntek, grrrrrrr.
Szóval: Az A oszlopban kellene az eredmény, a B oszlop a kategóriákat tartalmazza.Köszönöm szépen.
-
Térközjelző
csendes tag
Sziasztok Kedves táblázat Guruk! Az alábbiakban kérnék segítséget:
Adott egy tábla amiben személyek által utazott távolságot tartom nyilván.
F oszlp ... L oszlop km
Nagy Béla 84
Kis Géza 36
Kovács Jenő 92A feladat összegyűjteni hány darab utazás történt az alábbi kategóriákban: (Hány darab 40, 50 vagy 100km-es utazás volt)
A oszlop B oszlop
db km
5
10
15
20
25
30
35
40
50
60
70
80
90
100
100 felettKöszönöm a segítséget, bocsi nem tudom hogy lehet ide táblát beszúrni.
Köszönöm. -
Delila_1
veterán
válasz
nzsolt74 #20115 üzenetére
Nem is kell megírnod, azt megtettem én.
Alt + F11-re bejön a VB szerkesztő. Bal oldalon kiválasztod a füzeted nevét. Insert menü, Module. Erre bal oldalon kapsz egy Moldule1 nevű mappát. Ezt kiválasztva jobb oldalon lesz egy üres fehér terület, ahova innen átmásolod a makrót.
Átírod benne a 2 munkalap nevét, nyomás vissza az Excelbe.
Alt+F8-ra megjelenik egy párbeszéd ablak, ahol el tudod indítani a makrót. -
Delila_1
veterán
válasz
nzsolt74 #20112 üzenetére
Egy rövid makró megcsinálja.
Sub Transzponalas()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim sor As Long, tol As Long, ig As Long, ures As Long
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
WS1.Activate
'Címsor másolása
Range("A1:A14").Copy
WS2.Range("A1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
'Egységek másolása
ures = 2: tol = 1: ig = 14
Do While Cells(ig, 1) <> ""
Range("B" & tol & ":B" & ig).Copy
WS2.Range("A" & ures).PasteSpecial Paste:=xlValues, Transpose:=True
tol = tol + 14: ig = ig + 14: ures = ures + 1
Loop
End SubSzerk.: A Set-tel kezdődő 2 sorban írd át a lapneveket. Munka1 helyett az adatokat tartalmazó lapodat, Munka2 helyett pedig azt írd be, ahova át akarod írni más formában.
-
nzsolt74
újonc
Sziasztok!
Lenne egy óriási gondom, de nem tudom megoldani!
Van egy közel 10 ezer soros excel táblám, amely két oszlopból áll.
Az első oszlop 14 soronként ugyanaz, ezekből szeretnék egy új lapon 14 oszlopot fejléccel. Az eredeti munkalap 2. oszlopa ömlesztve van de az adatok jellege megegyezik az 1. oszlop 14 soronkénti jellegével. Tehát ebből a 2. oszlopból az adatokat 14 soronként szeretném az új munkalapba beilleszteni, hogy minden oszlop a rá jellemző fejléchez tartozzon.
Hogy érthetőbb legyenez az eredeti:
és így kéne kinéznie:
Előre is köszi!
-
kekec@
csendes tag
Szia!
Hú ha ez kicsit már bonyolult nekem...
Na eddig eljutottam:Sub Makró11()
'
' Makró11 Makró
''
ChDir "C:\Documents\Hibabejelentő\Jelentések"
ment = utvonal & fajlnev & "Valami " & Format(Now, "yyyy.mm.dd") & ".xls"
ActiveWorkbook.SaveAs ment
'
' mail Makró
''
Range("B11").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=TrueEnd Sub
Most már az is jó hogy, máshova menti (az eredetit békén hagyva
) Dátummal és megfelelő névvel nevezve.
Outlook indul ha ráklikkelek a mailcímre. Na innen kezdődnek a gondjaim.
Csatolnia kellene a helyes-kitöltött xls-t, tárgymező kitöltésével egy makrónak.
Hogyan lehetne egyszerűen megoldani? -
Delila_1
veterán
válasz
LordVader80 #20105 üzenetére
Rendezettségre nem lehet az egyéni nézetet alkalmazni, de pl. sorok, oszlopok elrejtésére, felfedésére, nyomtatási terület módosítására kiválóan alkalmas.
-
Delila_1
veterán
válasz
bozsozso #20104 üzenetére
A 2003-as verzióban a Szerkesztés | Csatolások menüben található meg, melyik füzetre hivatkoznak a csatolások. Itt módosíthatod is. A megszüntetéshez a saját füzetedet kell kitallózni a módosításnál.
Magasabb verziókban nem találom ezt a funkciót. Ezeknél is ki tudod keresni, ha pl. a [ karaktert keresed. A csere funkcióval itt is meg tudod változtatni a hivatkozásokat.
-
LordVader80
őstag
Sziasztok!
Van egy táblázatom, amin két egyéni nézetet alkalmazok. Hogyan tudom azt beállítani, hogy az egyik nézetben pl: A oszlop szerint rendezzen sorba, a másik nézet szerint pedig B oszlop alapján?
Az új nézet ablakban csak nyomtató beállítások és rejtett sor/oszlop és szűrőbeállításokat enged kipipálni...
sorba rendezést nem
köszi
-
bozsozso
őstag
Sziasztok,
Ki lehet valahogy deríteni, hogy van-e olyan cella ami másik munkafüzet cellájára mutat?
Új hozzászólás Aktív témák
Hirdetés
- moha bácsi: VIII. Viharsarki Hobbi Elektronika Találkozó Békéscsaba 2025.06.14. szombat
- Xbox tulajok OFF topicja
- Motoros topic
- Kormányok / autós szimulátorok topikja
- Netflix
- Milyen routert?
- Synology NAS
- Honda topik
- Tőzsde és gazdaság
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- ÁRGARANCIA! Épített KomPhone i5 13400F 32/64GB RAM RX 7700 XT 12GB GAMER PC termékbeszámítással
- Giant Talon 0 Sport - Hardtail Mountain Bike
- BESZÁMÍTÁS! 1TB Kingston KC3000 NVMe SSD meghajtó garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5500 16/32/64GB RAM RTX 4060 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest