-
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
-
Delila_1
veterán
válasz
bnorci71
#8252
üzenetére
Eszembe jutott valami, de megint csak este tudom kipróbálni. Érdekes feladat, biztosan más is próbálkozik addig a megoldással.
Hogy ne kelljen a lehetséges megoldóknak visszakeresni:
Az A2:A14 tartományban focicsapatok nevei vannak. A teljes tartomány címsorral együtt A1:AI14, ami az AI oszlop értékei szerint van csökkenő sorrendbe rendezve. Az AI változik, emellé kellenének a nyilak az AJ, vagy AK oszlopba. -
Delila_1
veterán
Ez azért van, mert bár szám külleműek az adataid, szöveg formátumúak. Körülményesen úgy tudnád átalakítani, hogy az egész tartományt szám formátumúra állítod, de egyenként le kellene enterezni utána mindet.
Egyszerűbben is lehet, szorozd meg az adatokat 1-gyel. Excelben ennek a módja: beírsz egy cellába egy 1-est, másolod, kijelölöd a felszorzandó tartományt, jobb klikk, Irányított beillesztés, Szorzás.
Figyelj arra, hogy mindegyik táblázatodban számként szerepeljenek az összehasonlítandó adatok. -
Delila_1
veterán
válasz
bnorci71
#8225
üzenetére
Tényleg elsiklottunk a régi kérdésed fölött.
A laphoz kell rendelned egy makrót -> lapfülön jobb klikk, Kód megjelenítése. A képernyő jobb oldalán kapott üres lapra másold be:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 28 And Target.Row >= 2 And Target.Row < 15 And _
Target.Column Mod 2 <> 0 Then
Range("A1:AI14").Sort Key1:=Range("AI2"), Order1:=xlDescending, Key2:= _
Range("AH2"), Order2:=xlDescending, Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End If
End Sub -
Delila_1
veterán
válasz
motinka
#8244
üzenetére
Akkor mégis a laphoz kell rendelni a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then Exit Sub
If Target.Column = 3 And Target.Value = "W" Then
Range(Target.Address).Formula = "=IF(A" & Target.Row & "=""SC"",""SC"",""-"")"
End If
End SubA "TECHN" és "tipus" névadásokat egy OFSZET függvénnyel átírtam úgy, hogy az érvényesítések legördülőjében mindig annyi adat jelenjen meg, ahány éppen van a két listában - bővítés vagy szűkítés esetén az aktuális adatmennyiséghez igazodnak (Beszúrás/Név/Név megadása).
A + jel nem jó, mert azt az Excel egy képlet kezdetének érzékeli, helyette W-t tettem, és beírtam a TECHN lista első tagjának, vagyis azt is a legördülőből lehet kiválasztani. Ezt választva a C oszlopba beíródik a képlet, csak az aktuális sorba.
-
Delila_1
veterán
Mindig új dolgot kérsz! Először két lap volt (az is űrlap), majd 3, más nevekkel, és más oszlopokból akartad kinyerni az adatokat, most a lapnév nem stimmel.
Amit ooo-nak nézel, az O betű, kettőspont, újabb O betű, a pontosvessző után pedig nulla.
Próbáld meg eszerint. Ha nem jön össze, küldd el a füzetet. Ígérem, hogy ma bele sem nézek, legfeljebb holnap.
-
Delila_1
veterán
válasz
motinka
#8231
üzenetére
Szia, megjöttem.
Azért nem működött a makró, mert nem jó helyre tetted. Az adat laphoz rendelted, pedig ezt egy új modulba kellett volna.
A füzetben Eszközök/Makró/Visual Basic Editor (vagy ezek helyett Alt+F11). Bejön a VBE. Bal oldalon kiválasztod a füzetedet, Insert menü, Module. A jobb oldalon kapott üres lapra kellett volna bemásolni.
Közben az is kiderült a füzetedből, hogy a C oszlopot szövegként formáztad az általános formátum helyett. A makró első sora ezértColumns("C:C").NumberFormat = "General"
kell legyen, mert az előállított függvény sem működne szövegként. Elküldöm a címedre a módosított fájlt.
Delila
-
Delila_1
veterán
-
Delila_1
veterán
Kicsit kibővítve az előző:
[M](C)Sub Nagysag()
Dim a As Integer
Dim nev As String
For a = 2 To 13
nev = "Oval " & a
ActiveSheet.Shapes(nev).Select
With Selection
.ShapeRange.Height = Cells(a, 2) / 50
.ShapeRange.Width = Cells(a, 2) / 50
.Characters.Text = Cells(a, 1) & Chr(10) & Cells(a, 2) & " MFt"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
.Orientation = xlHorizontal
.Characters.Font.Size = 6
End With
Next
End Sub(/C)[/M] -
Delila_1
veterán
Makróval megoldható.
Beszúrtam egy térképet, aminek az Excel automatikusan a Kép 1 nevet adta. Utána elhelyeztem a térképen 12 kört, amiknek a neve Ellipszis 2 -Ellipszis 13 lett. A makróban Oval 2 - Oval 13 néven kell rájuk hivatkozni.
Az első kör a piros, az óramutató járásával ellenkező irányban helyeztem el a többit.Makró:
Sub Nagysag()
Dim a As Integer
Dim nev As String
For a = 2 To 13
nev = "Oval " & a
ActiveSheet.Shapes(nev).Select
Selection.ShapeRange.Height = Cells(a, 2) / 80
Selection.ShapeRange.Width = Cells(a, 2) / 80
Next
End SubSzerk.: a Cells(a,2)/80 helyett olyan osztót adj, ami egy jó méretet ad az ábrán.
-
Delila_1
veterán
Nézd meg ezt és az előzményeit.
-
Delila_1
veterán
válasz
m.zmrzlina
#8163
üzenetére
Írj egy makrót a cserére, tegyél ki hozzá egy gombot. Amelyik gépen szükség van a cserére, megnyomják, a másikon nem.

A másik fórumon, ahol feltetted ezt a kérdést, már leírtam ugyanezt az választ.

-
Delila_1
veterán
Szúrj be egy sort az első elé. Az F1-be és a G1-be adj egy-egy címet. Jelöld ki a két cellát, Data/ Autofilter.
Kapsz egy-egy nyilacskát az F1-ben és a G1-ben, az utóbbi legördülőjében jelöld ki a nullát.
Az F oszlop látható celláit kijelölöd, és átmásolod egy másik lapra. Ezután az F és G oszlopokat kitörölheted. -
Delila_1
veterán
válasz
scott_free
#8138
üzenetére
Igen, minden gépen be kell kapcsolni, másképp a makró nem ismeri fel a függvényt.
Makró nélkül is érdemes bekapcsolni, sok új függvényt biztosít. -
Delila_1
veterán
válasz
scott_free
#8129
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
scott_free
#8125
üzenetére
-
Delila_1
veterán
válasz
scott_free
#8125
üzenetére
Nem egészen értem, hogy jött ki az A1=3-ból az érvényesítés 1-8 listája.
Beteszek egy képet, ahol a megjeleníthető értékek az F1:F10 tartományvan vannak, és az A1 értéke adja a legördülő lista utolsó elemét.
Az érvényesítésben a forrás képlete: =OFSZET($F$1;0;0;A1;1)
-
Delila_1
veterán
"nem a pivot része, csak a pivotnak megfelelő sorba mellév an írva egy megjegyzés"
Akkor más a helyzet. A kimutatásokat másold egy lapra egymás alá, értékként beillesztve, mert a pivotokból nem engedi az Excel a sortörlést. Mivel nem írtad, melyik oszlopokban vannak a billentyűzetről – vagy érvényesítésből – bevitt megjegyzések, önhatalmúlag a H és I oszlopokba tettem (8. és 9. oszlop). Ezeket írd át a makróban a megfelelőkre.
Sub DelRow()
Dim sor As Integer, usor As Integer
usor = Range("A50000").End(xlUp).Row
For sor = usor To 2 Step -1
If Cells(sor, 8) = "" And Cells(sor, 9) = "" Then Rows(sor).EntireRow.Delete
Next
End Sub -
Delila_1
veterán
Ez a makró az A oszlopban A1-től figyeli, van-e megjegyzés. Ha nincs, törli a sort.
Sub DelRow()
Dim sor As Integer
sor = 1
Do While Cells(sor, 1) <> ""
If Range(Cells(sor, 1).Address).Comment Is Nothing Then
Rows(sor).EntireRow.Delete
sor = sor - 1
End If
sor = sor + 1
Loop
End SubAz A helyett 2 helyen a Cells(sor,1)-ben írd át az 1-et az oszlopod sorszámára. Ha nem az első sortól akarod a vizsgálatot végrehajtani, a sor=1-et írd át.
A makró feltételezi, hogy a kérdéses oszlop minden cellájában van valamilyen adat, ott is, ahol nincs megjegyzés. -
Delila_1
veterán
válasz
scott_free
#8114
üzenetére
Meg lehet oldani a két "pöttyöt" is, de sokkal egyszerűbb az érvényesítés.
A cellán állva (vagy több cellát kijelölve, ha többe is be akarod tenni a két érték közüli válsztás lehetőségét), Adatok/Érvényesítés. A Beállítások fülön a Megengedve legördülőből a Listát választod, a Forráshoz beírod a két lehetőséget, pontosvesszővel elválasztva.
Nézd meg a Figyelmeztető üzenet, és a Hibajelzés füleket is, egyik kiállítása sem kötelező.
-
Delila_1
veterán
válasz
scott_free
#8117
üzenetére
Minden feladatra van több megoldás.
A C1 képlete: =indirekt(C1&1). A C1 cella adja az A, vagy B értéket, az & jellel hozzáfűzött 1-es az első sort.
Oszlop átmozgatása: kijelölöd az F oszlopot, a bal széle fölé állsz az egér mutatójával, míg kereszt alakú lesz nyilakkal a 4 végén. A bal gombot nyomva tartva húzod balra, mikor elértél az A oszlop fölé, megnyomod a Shift billentyűt, és felereszted az egér bal gombját.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#8108
üzenetére
Az Outlook Express-t használom. Egyszerűen láthatatlanná váltak a címek (amiket nem a C meghajtón tárolok), de megvannak. Rájuk tudok keresni, és néhány kattintással ki tudom találni az ismerősök levélcímét. A bejövőknél az általam megadott nevet mutatja, nem az e-mail címet.
Ha behívom a Címjegyzéket, azt lódítja, hogy nincs egy darab sem.
Már csináltam egy rendszer-visszaállítást, az sem segített. Azt hiszem, marad a leradírozás, és újra telepítés. -
Delila_1
veterán
válasz
zsotesz81
#8104
üzenetére
Egy do-loop ciklussal végignézed a B oszlop tagjait az utolsó sorig. Ha a cella értéke "Resolved", akkor a másolás helye az ofszet(0,1) nevű lap. Innen egy belső do-loop ciklussal menj mindig a következő "Resolved"-ig, és ebben a belső ciklusban legyen a számok átírása az aktuális ország lapjára.
Biztos finomítani kell rajta. -
Delila_1
veterán
válasz
zsotesz81
#8100
üzenetére
Ha már megadtad a feltételben, hogy szám esetén másoljon, mi szükség van a másik két feltételre?
Sheets("data").Select
For b = 1 To 15
If IsNumeric(Cells(b, 2)) = True Then
oszlop = Worksheets("result").Range("IV1").End(xlToLeft).Column + 1
Worksheets("result").Cells(1, oszlop) = Cells(b, 2)
End If
Next -
Delila_1
veterán
-
Delila_1
veterán
válasz
Abi8211
#8079
üzenetére
A1-be beírod: 2009_01_01
Ezt szövegként értelmezi az Excel. Mikor lemásolod (lehúzod), az utolsó számjegyet növeli eggyel.
B1-> ="["& A1&"_DALY_REPORT.xls]TEMP!$F$9"
C1 (vagy ahova be akarod tenni a hivatkozást) -> =INDIREKT(B1)Szerkesztés
Amire figyelned kell: az A oszlopban a 2009_01_31 után 2009_01_32 következik, a hónapok utolsó napja után át kell írnod a hónapot és napot. -
Delila_1
veterán
válasz
mr.nagy
#8063
üzenetére
Fel akartam tölteni a módosított füzetet, de valahogy nem jött össze.
A képletek:
O9 =ÁTLAG(C9:M9)
Q9 =DARABTELI(C9:M9;">" & O9+2)
R9 =SZUMHA(C9:M9;">" & O9+2;C9:M9)
S9 =DARABTELI(C9:M9;"<" & O9-1)
T9 =SZUMHA(C9:M9;"<" & O9-1;C9:M9)
U9 =DARAB(C9:M9)-Q9-S9
V9 =SZUM(C9:M9)-R9-T9 -
Delila_1
veterán
válasz
Tier555
#8035
üzenetére
Kitehetnéd a füzeteidet néhány adattal valami elérhető helyre, akkor kiderülne, miért nem talál nálad az Fkeres.
Lehet, hogy csak az egyik lapon string típusú az ID. Azon lehet segíteni.Nézd meg a másik fórumon is a választ, ahol feltetted ugyanezt a kérdést, ott írtam erről.
-
Delila_1
veterán
válasz
Tier555
#8033
üzenetére
Az FKERES függvénnyel oldhatod meg.
A leírásból nekem nem nagyon derül ki, melyik adatod hol van. Készítettem 2 füzetet, Egyik.xls, és Másik.xls néven.
Az Egyik A oszlopába írtam stringeket, amik az ID-ket képviselik, a 6. (F) oszlopba pedig számokat. A Másik füzet A oszlopába véletlenszerű elrendezéssel betettem az előző ID-ket.
A Másik füzet F2 képlete (címsort feltételezve)=FKERES(A2;'[Egyik.xls]Munka1'!$A:$F;6;HAMIS)
Nézd meg a súgóban az Fkeres függvényt, és a fenti képletet, ha más az oszlopaid elrendezése, a kettő együtt biztosan segít.
-
Delila_1
veterán
válasz
basaharc502
#8017
üzenetére
Szívesen.
-
Delila_1
veterán
A lapnév mindig string típusú. A #8005-ben ezért dimenzionáltam.
Dim sheetnev As String
Kipróbáltam, ha a J1-ben van a MA() függvény, bár ott az alapbeállítási formában (2010.08.26) jelenik meg, a létrehozott új lap neve ponttal a végén születik. Újabb futtatásnál a "pontos" lap lesz aktív.
-
Delila_1
veterán
-
Delila_1
veterán
válasz
DopeBob
#7999
üzenetére
Fire most nem ér rá, azért szállok be a megoldásba.
Vegyük, hogy az első lapon vannak a szűrt adataid, a Munka2 lapon lesz a "népszámlálás", ott is a B1 cellában.Sub MennyiAzAnnyi()
Sheets(2).Range("A:A") = ""
Sheets(1).Range("A:A").Copy Destination:=Sheets(2).Range("A1")
Sheets(2).Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="ter", RefersTo:="=Munka2!" & Selection.Address
Range("B1").FormulaArray = "=SUM(1/COUNTIF(ter,ter))"
End Sub -
Delila_1
veterán
válasz
basaharc502
#8000
üzenetére
-
Delila_1
veterán
válasz
basaharc502
#7996
üzenetére
Tedd ki valahova a fájlt, vagy azt a részét, ahol az említett adatok vannak. Hamis értékekkel is jó.
-
Delila_1
veterán
válasz
basaharc502
#7990
üzenetére
Készíts kimutatást, ahol a sorok tartalmazzák a dátumot. Ebből csinálj grafikont.
-
Delila_1
veterán
válasz
motinka
#7978
üzenetére
Az F5 képlete:
=HA(BAL(D5;2)>="13";D$1+1+IDŐ(ÓRA(E5);PERC(E5);0);D$1+IDŐ(ÓRA(E5);PERC(E5);0))
Ez akkor igaz, ha a nap (aug. 16) a D1 cellában van, ahogy a képen látszik. Ha viszont a B1:F1 között van középen, akkor a képletben a D$1-et írd át B$1-re. A képletet lemásolod a többi adat mellé az F oszlopba, és átmásolod a K oszlopba, meg a többi zárás oszlopba. A formátum ezekben az oszlopokban olyan legyen, ahogy már előbb megadtam. -
-
Delila_1
veterán
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7969
üzenetére
Ezt nem tudtam, köszi.

-
Delila_1
veterán
válasz
Sickboy25
#7963
üzenetére
Na még egy, hogy biztos legyen a figyelmeztetés.
Az A1 cellát formázd félkövérre, és piros betűszínre. A laphoz rendeld a nyúlfarknyi makrót (lapfülön jobb klikk, Kód megjelenítése, a VB szerkesztőben a jobb oldalon kapott üres felületre kell bemásolni).
Private Sub Worksheet_Activate()
If Day(Date) < 11 Then
Cells(1) = 10 - Day(Date) & " nap múlva add le a jelentést"
Else
Cells(1) = ""
End If
End SubMikor a lapra lépsz, beírja, vagy 10-e után törli a hátralévő napokat.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7961
üzenetére
Azon egy HA függvény segítene, de nem az én megoldásom kell a kérdezőnek.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7951
üzenetére
Ez nem helyesírási hiba, a működést hamisítja meg.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7949
üzenetére
Írd meg nekik. Te szoktad úgyis figyelmeztetni őket a hibákra, hiányosságokra.
-
Delila_1
veterán
A szöveg.keres függvénybe az idézőjelek közé a szóköz helyett tedd a saját elválasztó jeledet.
Ha ez egy valahonnan beimportált szöveg, akkor egyszerűbb a "Szövegből oszlopok" funkció alkalmazása.
A szétbontandó cellák mellett jobbra legyen annyi üres oszlop, ahány részből a cellák összetevődnek. Kijelölöd a szétbontandó cellákat, Adatok/Szövegből oszlopok. Tagolt, Tovább, a Határoló jeleknél kiveszed a pipá(ka)t, és az Egyéb kategóriába beírod a @, vagy # jelet, Befejezés. -
Delila_1
veterán
Kicsit kacifántos, de megoldható.
A cella, ami a két értéket tartalmazza, szöveg formátumú legyen. Vegyük, hogy az A1 celláról van szó, és a két számot szóköz választja el.A bal oldali részt az
=BAL(A1;SZÖVEG.KERES(" ";A1)-1)*1a jobboldalit az
=JOBB(A1;HOSSZ(A1)-SZÖVEG.KERES(" ";A1))*1 adja vissza számként.Ezek a cellák általános, vagy szám formátumúak legyenek.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7938
üzenetére
A 2003-as súgójában nem tették ki a $-okat.

-
Delila_1
veterán
Nézd még meg a GYAKORISÁG függvényt. Ha ez nem munkaköri, hanem Exceles feladat, lehet, hogy ezt kérik. Tömbfüggvény, Shift+Ctrl+Enterrel kell bevinni egy területre.
Szerk:
Vigyázz, a mintapéldában nem tették ki a $ jeleket a tartományokhoz, azok nélkül hamis eredményt kapsz. -
Delila_1
veterán
Nézd meg a #7893-as választ. Alsó értéknek a minimumot, felsőnek a maximumot add meg, utolsó érték a lépésköz. Csakis direkt értéket adhatsz meg, nem lehet így: =min(tartomány)
Nem otthon vagyok, este megpróbálom kitalálni a választ a diagramos kérdésedre. Azt hiszem, lehet másik X tengelyt felvenni, ahogy másik Y-t is, de nem biztos.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7918
üzenetére
Jó félórája Shift nélkül próbáltam (ő; ú), azzal nem jött be. Most újra megpróbáltam, mire fel akarja telepíteni az angol nyelvű automatikus javítást.

-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7914
üzenetére
Csak nem esett le a tantusz az Alt+Shift-re.
Az Ő és Ú a kapcsos zárójeleket adja, nem a szögleteseket. A { az Alt+0123; a } pedig Alt+0125-tel is behozható. -
Delila_1
veterán
válasz
Fire/SOUL/CD
#7911
üzenetére
A bal Alt, és a számbillentyűzeten bepötyögött 091 behozza a [-et.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7911
üzenetére
Ez nálam nem jön össze.

Mielőtt kérdeznéd, igen, 2007-es verzióban.
-
Delila_1
veterán
válasz
foregister
#7894
üzenetére
Szívesen.

Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- VR topik
- Mibe tegyem a megtakarításaimat?
- Formula-1
- Genius SW 5.1 Home Theater
- Okos Otthon / Smart Home
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xbox tulajok OFF topicja
- Bambu Lab 3D nyomtatók
- További aktív témák...
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- PC Game Pass előfizetés
- 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.
- Jawbone Up okoskarkötő, aktivitásmérő
- LG UltraGear Gaming Monitorok : FRISS -30%
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Csak kipróbált Mini-Erőmű! Mini-PC Ryzen 7 7840HS 16GB 512GB 1 év garancia
- HP ProDesk 600 G5 i5-9500 16GB 512GB 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







Fferi50