- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen okostelefont vegyek?
- iPhone topik
- Apple Watch Sport - ez is csak egy okosóra
- Google Pixel topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Google Pixel 9 Pro XL - hét szűk esztendő
- One mobilszolgáltatások
- Samsung Galaxy S25 - végre van kicsi!
- 45 wattos vezeték nélküli töltés jön az új iPhone-ba
-
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
-
elttiL
senior tag
Üdvözlet!
A következőt kellene elkövetnem excel-ben:
Egy munkalapon szereplő képleteket NE számolja ki, csak ha bekapcsolom. pl. makróval. Nagyon sok képlet van rajta, és nem szükséges folyamatosan újraszámolni, mert ahogy adatot viszek fel egy másik lapon, az automatikus újraszámolás miatt állandó a homokóra.
20000x6x14 képlet van a lapon, így néha simán megfekteti az excel-t. De ha varázsütésre csak a végén számoltatnám ki ezen a lapon levő képleteket, és utána ismét vissza kapcsolatatnám, akkor nagyon rendben lennék.A teljes kikapcsolást nem tudom elkövetni, mert máshol szükségem van a számításokra.
5let? -
Delila_1
veterán
válasz
dudu_14 #28596 üzenetére
A lapodhoz rendelt makróban kell megadnod a műveleteket.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$6" Then
'ide másold a saját makródat a Sub és End Sub sorok nélkül
End If
End SubA rejtés feloldásához nem szükséges ciklust betenned, gyorsabb és egyszerűbb megoldást alkalmazz:
If Target.Address = "$D$6" Then _
Rows("1:" & ActiveSheet.UsedRange.Rows.Count).Hidden = False -
dudu_14
újonc
Sziasztok!
Kezdő excel vb-s vagyok, tudnátok kicsit segíteni? 2010-es magyar excelben dolgozom.
Van egy munkafüzet aminek a D6-os cellájában legördülő választólistából 3 fix értéket lehet választani. Attól függően, hogy az ember mit választ ki, az excel elrejti pl a 28-55. sort, vagy egyéb sorokat.
Sikerült írnom rá egy makrót, ami úgy tűnik működik is, viszont kizárólag akkor, ha rákkatintok a makró futtatására. Azt szeretném, ha ezt a bizonyos választó cellát figyelné a program alapból és ha megváltozik, akkor automatikusan fusson le az általam írt makró.
Sub proba()
'
' proba Makró
Dim sor%, sorok%, D, DT, TS
D = "Dermedés"
DT = "Dermedés tápfejekkel"
TS = "Teljes szimuláció"
sorok% = ActiveSheet.UsedRange.Rows.Count
For sor% = 1 To sorok%
Rows(sor%).Hidden = False
Next
For i = 28 To 55
If Cells(6, 4).Value = D Then
Rows(i).Hidden = True
End If
Next
For j = 28 To 55
If Cells(6, 4).Value = DT Then
Rows(j).Hidden = True
End If
Next
For k = 19 To 27
If Cells(6, 4).Value = TS Then
Rows(k).Hidden = True
End If
Next
End SubKöszi előre is
-
spe88
senior tag
Sziasztok,
1 - Szűrőben egyszerre, hogy lehet több elemet kijelölni? SHIFT, CTRL nem megy...
2 - Azt meg lehet valahogy nézni, hogy egy adott cella adatait egy másik cella (nem adott) használja-e?
pl.: A1-A100 tartományban vannak értékek és ha azt kitölröm az Excel percek alatt áll helyre, mert valószínű, hogy számol velük valahol máshol, csak már nem tudom hol, mert elég bonyolult a fájl...
Köszi
-
gézu
őstag
Hali! 2010-es fájlt nem nyit meg a frissen felrakott 2013-as, védett nézetben próbálkozik, de csak kukacol vég nélkül. Van erre valami megoldás?
Rendszer: win 10 pro.
-
aizen92
addikt
Sziasztok!
Egy feltételes formázásos nagyon alap kérdésem lenne, illetve a tanácsotokra lennék kíváncsi.
Van 10 értékkel egy oszlopom.
Beillesztek a táblába egy 20 értékből álló oszlopot, amit le kéne ellenőriznie, hogy a 20-ból mennyi érték található meg a 10-es értékes listámból. Ha van ilyen érték színezze be zölddel a 20-asban azt.Az kicsit macera, hogy 10 értékre 10 külön szabályt veszek fel. Ez egyrész időigényes, másrészt ez a 10-es érték majd a jövőben folyamatosan változhat.
Ehhez milyen szabályt kéne létrehoznom és gondolom valami függvényt kéne hozzá használnom, csak még nem tudom melyiket.
Az értékek szövegek, nem számok. és tökéletes egyezés esetén színezze be.
Remélem érthetően sikerült leírnom, bocsi ha nem.
Segítséget meg előre is köszi! -
the radish
senior tag
Sziasztok!
Mentés az alábbi kóddal történik, de azonos nevű file esetén rákérdez a felülírásra.
CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Close savechanges:=FalseHogy tudnám mégis rávenni, hogy kérdés nélkül felülíródjon?
-
Louro
őstag
válasz
mclaren777 #28585 üzenetére
Első beírás előtt az oszlop formátumát állítsd szövegre
VAgy, ha nem akarsz nagyon számolgatni, csak megjeleníteni, akkor írj a mezőbe egy aposztrófot (shift+1). Bár ezt nem javaslom, mert későbbi függvényezést megkavarja csúnyán. Inkább az első megoldást javaslom.
-
poffsoft
veterán
válasz
karlkani #28584 üzenetére
Sub Auto_Meret()
Dim CV, kom, ter As Range
Set ter = Range("D:D, I:I")
For Each CV In ter
Set kom = Range(CV.Address).Comment
If Not kom Is Nothing Then 'ha van megjegyzés
kom.Visible = True
kom.Shape.Select
Selection.AutoSize = True
kom.Visible = False
End If
Next
End Sub -
mclaren777
senior tag
Excel-ben hogyan lehet kikapcsolni ezt az automatikus dátum felismerést? Hogy szinte akármilyen számot be akarok írni mindent dátummá alakít.
Rohadtul idegesít.De pl. "+" jelet sem enged sor elejére írni stb.
Hogyan tehetem alapértelmezetté hogy NE JAVÍTSON BELE SEMMIBE?
-
karlkani
aktív tag
válasz
Delila_1 #28583 üzenetére
Ismételten nagyon szépen köszönöm!
Nem ebben a füzetben kell beállítani, de valóban kettő oszlopról van szó. Átírtam azokra az oszlopokra a makrót, majd az Insert, Module opcióval hozzáadtam. Futtatáskor Run-time error van.
Range(CV.Address).Comment.Shape.Select
Ez a sor "sárgul" be.
-
Delila_1
veterán
válasz
karlkani #28582 üzenetére
Elrejti a megjegyzést a
Range("I" & Target.Row).Comment.Text Text:=ertek & " Ft/liter"
sor után beszúrt
Range("I" & Target.Row).Comment.Visible = False
sor.
Tudtommal nincs olyan beállítás, ami eleve automatikus mérettel szúrja be a megjegyzést.Automatikus méretre állítás a D és I oszlopban:
Sub Auto_Meret()
Dim CV, kom, ter As Range
Set ter = Range("D:D, I:I")
For Each CV In ter
Set kom = Range(CV.Address).Comment
If Not kom Is Nothing Then 'ha van megjegyzés
Range(CV.Address).Comment.Shape.Select
Selection.AutoSize = True
End If
Next
End SubEzt a makrót mudulba kell másolni.
-
karlkani
aktív tag
válasz
Delila_1 #28581 üzenetére
Nagyon szépen köszönöm!
I/D-vel számolok. Már csak egy bibi van, a megjegyzés, amit a makró létrehoz állandóan látszik.
Egyébként az megoldható, hogy a megjegyzés automatikus mérettel kerüljön a cellába (makró nélkül), menüből hozzáadva.És egy legutolsó kérdés, ha már ennyire beleástuk magunkat. Adott egy füzet, benne elég sok megjegyzéssel, amit kézzel állítottam "méretre", ezeket valahogy belehetne állítani automatikus méretre, persze csak, ha nem gond.
-
Delila_1
veterán
válasz
karlkani #28580 üzenetére
Cseppenként adagolod a feladatot.
Az új makró előállítja a megjegyzést automatikus mérettel, a bevitel sorának az I oszlopában. Teszi ezt akkor, mikor a D, vagy I oszlopba viszel be értéket.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ertek As Double
If Target.Column = 4 Or Target.Column = 9 Then 'D vagy I oszlop
Range("I" & Target.Row).Select
With Range("I" & Target.Row)
On Error Resume Next
.AddComment
.Comment.Visible = True
.Comment.Shape.Select True
.Comment.Text Text:=ertek & " Ft/liter"
.Comment.Shape.Select
Selection.AutoSize = True
End With
If IsNumeric(Range("D" & Target.Row)) And _
IsNumeric(Range("I" & Target.Row)) Then
On Error Resume Next
ertek = Round(Range("D" & Target.Row) / Range("I" & Target.Row), 1)
Range("I" & Target.Row).Comment.Text Text:=ertek & " Ft/liter"
End If
Else: Range("I5").Comment.Text Text:="0 Ft/liter"
End If
Range(Target.Address).Select
End SubMár csak azt nem tudom, hogy a D/I érték, vagy az I/D kell a megjegyzésbe. Az
ertek = Round(Range("D" & Target.Row) / Range("I" & Target.Row), 1)
sor a D/I-vel számol. Ha ez nem jó, írd át így:
ertek = Round(Range("I" & Target.Row) / Range("D" & Target.Row), 1)
Szöveges bevitt adat esetén a megjegyzés szövege 0 Ft/liter lesz.
-
karlkani
aktív tag
válasz
Delila_1 #28579 üzenetére
Köszi!
Az még kivitelezhető, hogy a megjegyzésben a hányados egy tizedesre legyen kerekítve és mögé legyen téve a Ft/liter, valamint a következő sorokra is működjön? Megjegyzést minden egyes cellára nekem kell hozzárendelnem és egyesével végigmenni az automatikus méretre állítással is?
-
Delila_1
veterán
válasz
karlkani #28578 üzenetére
Szivi!
Kezdd azzal, hogy az I5 cellához rendelsz egy megjegyzést. A keretén bal klikk, ekkor a keret az előző sraffozottról átalakul sűrű pontozottá. Ezen jobb klikk, Megjegyzés formázása. Az Igazítás fülön jelöld be az Automatikus méret négyzetet.
A makró
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$5" Then
If IsNumeric(Range("I5")) And IsNumeric(Range("D5")) Then
Range("I5").Comment.Text Text:="Az I5 és D5 cella hányadosa: " _
& Range("I5") / Range("D5") & ""
Else: Range("I5").Comment.Text Text:="0"
End If
End If
End SubSzöveg nélkül a
Range("I5").Comment.Text Text:="Az I5 és D5 cella hányadosa: " _
& Range("I5") / Range("D5") & ""sor
Range("I5").Comment.Text Text:=Range("I5") / Range("D5") & "" -
Delila_1
veterán
válasz
karlkani #28574 üzenetére
A lapodhoz kell rendelned a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$10" Or Target.Address = "$F$5" Then
If IsNumeric(Range("B10")) And IsNumeric(Range("F5")) Then
Range("C3").Comment.Text Text:="A B10 és F5 cella hányadosa: " _
& Range("B10") / Range("F5") & ""
Else: Range("C3").Comment.Text Text:="0"
End If
End If
End SubA példában a C3 cella megjegyzésében jelenik meg a B10 és F5 cella hányadosa. Könnyen átírhatod a saját celláidra.
Szerk.: érdemes a megjegyzést automatikus méretűre állítani.
-
poffsoft
veterán
válasz
Claude Leon #28573 üzenetére
nincs előttem, de talán a nézet menüben van az a kapcsoló... vagy a képletek?
-
karlkani
aktív tag
Sziasztok!
Az megoldható, hogy egy cella megjegyzésben két másik cella hányadosa jelenjen meg, de csak akkor, ha a cellába van írva valami?
-
Claude Leon
senior tag
válasz
m.zmrzlina #28566 üzenetére
Detto.
(#28569) Fferi50: Próbáltam már azt is.
Olvastam rá megoldást: üres fülre ármásolva (óvatosságból csak szöveget) már számoltak a képletek.
(volt közte sima szum is, az is ugyanúgy viselkedett, csak nem szúrtam ki korábban)Közben kezd derengeni, hogy van valami képletkiíró módja a táblázatnak, csak nem találom, hogyan tudnám ezt kapcsolgatni.
Utálatos ez a megmondom, hogy mit szeretnél tempó. -
Fferi50
Topikgazda
válasz
the radish #28551 üzenetére
Szia!
Úgy gondolom, az a probléma, hogy a meghívott makróból nem ugyanabba a helyzetbe térsz vissza, ahonnan meghívtad:
Rows(tol & ":" & ig).copy WSM.Range("A2") Ezzel átmásolod a sorokat a forrás munkalapról a cél munkalapra
proba
Itt a másolandó munkafüzet innen nevű munkalapja az aktív.
Itt viszont:
Sub proba()
Range("A1:E3693").Select ' még mindig a másolandó munkafüzet aktív, annak az A:E oszlopát másolod
Selection.copy
Windows("B.xls").Activate 'átváltasz a cél munkafüzetre
Sheets("Munka2").Select 'abban is a Munka2 munkalapra
Range("A1").Select 'és ide másolod be a kijelölt részeket
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
Sheets("ide").Select ' itt pedig a cél munkafüzet ide nevű munkalapját aktíválod - a cél munkafüzet marad az aktív!!! - Pedig a másolandó munkalap volt aktív, amikor a makrót meghívtad!!!
'Azaz ide a Windows("A.xls").Activate sor kellene ezen sor helyett.
MsgBox "Makró"
End SubTovábbá nem egészen értem, miért kell a Select - Copy - Paste és munkafüzet aktíválások sora (amiben el is vesztél szépen
).
A Copy metódusnak van egy Destination paramétere, amivel megadhatod, hogy hova másolja át az adott tartományt. (Ráadásul ezt alkalmazod is a fejléc másolásánál!).
Vagyis a másolás egy sorral megoldható:
Range('A1:E3693").copy destination:=WSM.parent.Sheets("Munka2").range("A1")
Magyarázat: A WSM.parent eredménye a B munkafüzet, így a másolás egyből annak Munka2 munkalapjára megy át.A rövidebb makród azért "tökéletes", mert abban csak egy üzenet van és nem végzel vele semmilyen egyéb - munkalap, munkafüzet megváltoztatási - feladatot.
A leírtakból az is kiderül, ha nem kell mást csinálnia a meghívott makrónak, csak ezt a másolást, akkor nincs is rá szükség, mert az egy sort be lehet oda is szúrni a meghívás helyére.
Bocsi, hogy egy "lerágott csontot" próbáltam meg egy kicsit kibogozni eléggé elkésve, de csak most volt időm foglalkozni vele.
Üdv.
-
Fferi50
Topikgazda
válasz
the radish #28568 üzenetére
Szia!
Próbáld ki az alábbi makrót:
Sub csvment()
Dim fileszam As Integer, sor As Range
fileszam = FreeFile()
Open "Minta.csv" For Output As #fileszam
For Each sor In ActiveSheet.Rows
Print #fileszam, Join(Application.Transpose(Application.Transpose(sor.Value)), ";")
Next
Close #fileszam
End SubÜdv.
-
Fferi50
Topikgazda
válasz
Claude Leon #28565 üzenetére
Szia!
Nézd meg, milyen a cella formátuma, ha szöveg, váltsd át általánosra, utána F2 majd enter.
Azután előfordulhat az is, hogy a képlet elején van egy aposztróf, amitől szövegnek tekinti a kiértékelő (esetleg szóközök vannak az egyenlőségjel előtt...).Üdv.
-
the radish
senior tag
válasz
the radish #28567 üzenetére
-
the radish
senior tag
Sziasztok!
Van két "iciri-piciri" csv file. Látszólag mindkettőnek azonos tartalma, csupán a fejlécet és egy sort tartalmaz.
munkafüzet1.csv
munkafüzet2.csvMunkafüzet1.csv-t makró menti el, az alábbi kóddal:
Range("A1").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\Munkafüzet1.csv", FileFormat:=xlCSV, _
CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Close savechanges:=FalseAzonban az így elmentett csv valamiért nem a megfelelő formátumban van. Hogy jó legyen, csupán annyit kell tennem, hogy újra megnyitom és manuálisan mentem, közben pedig kérdez, hogy "biztos, hogy ebben a formátumban mentem"?
Az így létrehozott, manuálisan mentett file látszólag teljesen megegyezik a munkafüzet1.csv-vel, de 4 kbyte-al kisebb és ráadásul már megfelel a kívánt formátumnak, tudok vele dolgozni.
Nem tudok rájönni, hogy mi okozza a méret- és a "valamilyen" tartalomkülönbséget.
Természetesen számomra a legegyszerűbb az lenne, ha a makró menetné el a második formátumba.Segítségeteket előre is köszönöm.
-
m.zmrzlina
senior tag
válasz
Claude Leon #28565 üzenetére
Mi történik, ha nem kézzel írod be a $-t hanem F4-gyel?
-
Claude Leon
senior tag
Megőrjít ez a 2010-es
A képlet =FKERES(C4 ;H$4:I$106 ;2;HAMIS) és csak simán megjeleníti a képletet, mintha stringnek írtam volna.
Képletszerkesztésben, amíg mindent egérrel jelölök ki, működik, amint belerakom a $-t minjárt bedöglik.
A képletkiértékelő annyit ír, hogy a kiértékelendő cella állandót tartalmaz.Mit tehetnék még?
-
spe88
senior tag
válasz
Delila_1 #28556 üzenetére
Szia, igen ez kidobja, hogy benne van-e az adott tartományban az adott érték, de nekem msot a szűrés miatt kéne, hogy kiszínezze vagy akármi!
Jelenleg van 2 tartomány, amit össze akarok hasonlítani, az egyik tartomány elemei tuti, illetve szinte biztos, hogy szerepelnek a másikban, viszont abban van egy halom, ami meg meg nem szerepel az elsőben, ezért szeretném kiemeltetni! Általában képletet keresek erre, de most valami feltételes formázást kéne!
Köszönöm
-
Delila_1
veterán
válasz
the radish #28560 üzenetére
Szívesen (a szerintem semmit).
-
-
Delila_1
veterán
válasz
the radish #28558 üzenetére
Sajnálom, csak a füzetek felépítése, és a teljes feladat ismeretében mondhatnék esetleg valamit.
-
Delila_1
veterán
válasz
the radish #28555 üzenetére
Valószínű, hogy meg lehet oldani, de így vakon kaparászva nem tudok segíteni.
-
Delila_1
veterán
válasz
the radish #28551 üzenetére
Az Else ágba írtam be két sort, és akkor nincs szükség a külön makróra.
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).copy WSM.Range("A2")
Range("A:E").copy WSM.Sheets("Munka2").Range("A1") '1
WSI.Activate '2
' Masolas 'Itt indul a saját makród ****** megjegyzésbe tettem
sorszam = sorszam + 1 'növeljük a keresendő értéket
End IfHiába írtam át a makród nevét, még mindig van valami disznóság, másképp a VBE átírta volna a copy-t Copyra.
-
the radish
senior tag
válasz
Delila_1 #28550 üzenetére
Nem, de át is neveztem, nehogy bekavarjon.
Sajnos így sem megy.
Sub masolas()
Dim tol, ig
Dim WSI As Worksheet, WSM As Worksheet
Dim sorszam 'az A oszlop értékei
Dim sorM As Long 'ahova másolsz
Set WSI = Workbooks("A.xls").Sheets("Innen")
Set WSM = Workbooks("B.xls").Sheets("Ide")
WSI.Activate
Rows(1).copy WSM.Range("A1") 'fejléc másolása
sorszam = 1: tol = 2
Do While Cells(tol, 1) <> ""
'WSM.Cells = "" 'másolat lapjának kiürítése
sorM = Range("A2")
tol = Application.Match(sorszam, Columns(1), 0)
If VarType(tol) = vbError Then 'ha nem talált tol értéket
MsgBox "Kesz"
Exit Sub
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).copy WSM.Range("A2")
proba 'Itt indul a saját makród
sorszam = sorszam + 1 'növeljük a keresendő értéket
End If
Loop
End Sub
Sub proba()
Range("A1:E3693").Select
Selection.copy
Windows("B.xls").Activate
Sheets("Munka2").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
Sheets("ide").Select
MsgBox "Makró"
End SubPedig így tökéletes:
Sub masolas()
Dim tol, ig
Dim WSI As Worksheet, WSM As Worksheet
Dim sorszam 'az A oszlop értékei
Dim sorM As Long 'ahova másolsz
Set WSI = Workbooks("A.xls").Sheets("Innen")
Set WSM = Workbooks("B.xls").Sheets("Ide")
WSI.Activate
Rows(1).copy WSM.Range("A1") 'fejléc másolása
sorszam = 1: tol = 2
Do While Cells(tol, 1) <> ""
'WSM.Cells = "" 'másolat lapjának kiürítése
sorM = Range("A2")
tol = Application.Match(sorszam, Columns(1), 0)
If VarType(tol) = vbError Then 'ha nem talált tol értéket
MsgBox "Kesz"
Exit Sub
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).copy WSM.Range("A2")
Makro 'Itt indul a saját makród
sorszam = sorszam + 1 'növeljük a keresendő értéket
End If
Loop
End Sub
Sub Makro() 'ez a saját makród
MsgBox "Makró"
End Sub -
Delila_1
veterán
válasz
the radish #28548 üzenetére
Most hirtelen azt látom nagy hibának, hogy a makród neve egy VBA-s kulcsszó, copy.
Nézd meg, hogy pl. az első makró Else ágában, aRows(tol & ":" & ig).copy WSM.Range("A2")
sorban a Copy utasítást nem is váltotta át nagy kezdőbetűre, mert a copy című makródként értelmezi.
-
the radish
senior tag
válasz
Delila_1 #28546 üzenetére
Ránéznél, hol a hiba?
Sub masolas()
Dim tol, ig
Dim WSI As Worksheet, WSM As Worksheet
Dim sorszam 'az A oszlop értékei
Dim sorM As Long 'ahova másolsz
Set WSI = Workbooks("A.xls").Sheets("Innen")
Set WSM = Workbooks("B.xls").Sheets("Ide")
WSI.Activate
Rows(1).copy WSM.Range("A1") 'fejléc másolása
sorszam = 1: tol = 2
Do While Cells(tol, 1) <> ""
WSM.Cells = "" 'másolat lapjának kiürítése
sorM = Range("A2")
tol = Application.Match(sorszam, Columns(1), 0)
If VarType(tol) = vbError Then 'ha nem talált tol értéket
MsgBox "Kesz"
Exit Sub
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).copy WSM.Range("A2")
copy 'Itt indul a saját makród
sorszam = sorszam + 1 'növeljük a keresendő értéket
End If
Loop
End Sub
Sub copy()
Range("A:E").Select
Selection.copy
Windows("B.xls").Activate
Sheets("Munka2").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
Sheets("ide").Select
MsgBox "Jönne a következő"
End Sub -
spe88
senior tag
olyat hogy tudok, hogy van egy tartomány A oszlopban tele számokkal/szöveggel és ami az A oszlopban megtalálható elemet megtalálja az E oszlopban, akkor azt a cellát (vagy sort) az E oszlopban emelje ki valahogy?
Feltételes formázásnál próbáltam valami szabályt alkotni, de nem jött össze sehogy!
pl:
A oszlop:
1
2
3
4
5
asd
qwe
10
6E oszlop
1
5
asd
nb
rte
88
66És akkor csak ezek lennének kiemelve az E oszlopban: 1, 5, asd
Köszi
-
Delila_1
veterán
válasz
the radish #28543 üzenetére
A saját makród végén állj vissza oda, ahol a makró előtt voltál.
-
DeFranco
nagyúr
sziasztok!
egy oszlopban más mukafüzetekből szeretnék adatokat behivatkozni, de paraméterezve, a következők szerint:
A1:A10-ben legyenek évszámok 2006-tól 2015-ig
B1 cellába egy C:\Dokumentumok\Termelés\2006\[Éves zárások 2006-ig.xlsx]Munkalap1'!$F$10
B2 cellába egy C:\Dokumentumok\Termelés\2007\[Éves zárások 2007-ig.xlsx]Munkalap1'!$F$10
stb. hivatkozások kerülnekezt szeretném automatizálni, tehát hogy az elérési útban és filenévben szereplő évszám stringet az A1:A10 megfelelő cellájából vegye.
tippem szerint INDIREKT-et kellene használnom, de nem jön össze. munkafüzeten belül más munkalapra tudok hivatkozni, de így nem megy, hiába mutatja "jól" a képletkiértékelőben.
valami ilyesmivel próbálkoztam volna:
=INDIREKT("C:\Dokumentumok\Termelés\"&A1&"\[Éves zárások "&A1&"-ig.xlsx]Munkalap1'!$F$10"
de nem jött be
-
Gem Geza
csendes tag
Hali, megint lenne egy segitseg keresem.
Felteteles formazassal szeretnek beszinezni cellakat.
A cellakban datum adatok lesznek es a MA() fuggveny erteketol fuggoen szeretnem beszinezni az alabbiaknak megfeleloen:
1. Matol visszafele 14-IG zoldre
2. Matol visszafele 15-29 napig sargara
3. 30 napnal regebbi adatok eseten pirosraA feltetelek kozott a datum tipusunal talatam egy olyat, hogy az "elmult 7 nap", de nekem ez nem elegendo (Sajat intervallumot meg ITT nem egedelyez megadni), a cellaertek kozott meg "a kovetkezok kozott" meg nem mukodik datumnal, vagy csak en adtam fel tul koran a probalkozast.
Tudnatok segiteni, hogy mivel probalkozzak?
Elore is koszi az agyalast es a probalkozasotokat.
Szep tablazatot Mindenkinek!
Udv GG
-
the radish
senior tag
-
air
nagyúr
Mindenkinek köszönöm a segítséget!
-
Delila_1
veterán
válasz
the radish #28540 üzenetére
Nézd meg, nincsenek-e véletlenül azonos nevű változók a két makróban. Nem lehetnek, mert akkor a meghívott makró változói felülírják az indító makró változóinak az értékét.
-
the radish
senior tag
válasz
Delila_1 #28196 üzenetére
Szia!
Újra elakadtam.
Ha így hagyom, akkor tökéletesen működik, minden felbukkanó msgbox "okézása" után indul elölről és másolja sorban a dolgokat, ahogy kell is, 1, 2, stb és a végén a kész fogad..
Azonban nem tudok makrót beilleszteni a művelet folyamatába. Ha a legegyszerűbb műveletet is beiktatom, pl. hogy másolja a Masolat_lap A oszlopát bárhova, akkor végigfut ugyan, fel is ugrik az msgbox, de sajnos véget is ér a folyamat, azaz az első adatsort követően nem másolja át a többit, leáll.Hogy tudnám rávenni, hogy elfogadja a makrót és lefusson sorban az összes adatsorral?
Előre is köszi.
-
air
nagyúr
válasz
szatocs1981 #28537 üzenetére
Köszi.
Már csak annyi segítséget kérnék, hogy miként tudom ezt használatba venni? -
szatocs1981
aktív tag
Ez szétszedi az A1-ben lévöt és A2-B2 töl kezdve feltölti.
Pr´báld ki:Sub Split()
Dim txt As String
Dim x As Variant
Dim i As Long
txt = Cells(1, 1).Value
x = Split(txt, ", ")
ReDim y(UBound(x))
For i = 0 To UBound(x)
y(i) = Split(x(i), "(")
Next i
For i = 0 To UBound(x)
y(i)(1) = Replace(y(i)(1), ")", "")
Next i
For i = 0 To UBound(x)
Cells(i + 2, 1).Value = y(i)(0)
Cells(i + 2, 2).Value = y(i)(1)
Next i
End Sub -
air
nagyúr
válasz
szatocs1981 #28535 üzenetére
Köszi.
-
air
nagyúr
válasz
szatocs1981 #28533 üzenetére
-
Zola007
veterán
válasz
szatocs1981 #28528 üzenetére
fene egye meg őket, így leszakad a kezem a végére
neked azért köszönöm az infót -
air
nagyúr
Sziasztok!
Lehet, hogy bagatel a kérdés, és remélem pikk-pakk tudjátok a választ.
Van egy táblám, ami úgy lett exportálva egy alkalmazásból, hogy egy névsor (1-20-30 ember, változó számú) egy cellában szerepel, vesszővel elválasztva. A név után zárójelben egy azonosítóval.
Abban kérném a segítségeteket, hogy miként lehetne a neveket és az azonosítókat - utóbbit persze zárójelek nélkül - két oszlopba, soronként szétdobni.
Persze a táblában nem egy ilyen cella van hanem sok, úgyhogy többször is el kellene végezni a műveletet.Előre is köszönöm.
-
szatocs1981
aktív tag
-
ZohanKAA
csendes tag
Üdv!
Van egy oszlopom amiben bizonyos feltételeknek megfelelően vannak IGAZ és HAMIS sztringek.
Arra szeretnék megoldást találni, hogy az oszlop legfelső cellájába, ha az oszlopban egy HAMIS sztring is szerepel akkor ennek az értéke legyen HAMIS., ha viszont mindegyik igaz akkor legyen IGAZ. Az oszlopban üres cellák is vannak, ezeket ki kellene hagyni a vizsgálatból.
Előre is köszönöm a segítséget!
-
Zola007
veterán
a 2010-ben mi a hotkey az alsó és felső indexre?
-
szatocs1981
aktív tag
válasz
Sweetraver #28525 üzenetére
-
Sweetraver
csendes tag
Sziasztok!
Tudnátok abban segíteni, hogy milyen képlettel tudom azt megoldani, hogy összeszámolja, hogy egy területen belül hány db 1-es szintű van.
Terület Szint
Termelés 1
IT 2
Pénzügy 1
Termelés 1
Termelés 2
IT 1És az új táblázatban A oszlopában szerepel a terület, a felső sorában pedi hogy "1" a következő oszlopban "2" stb. Szóval csak egy számot kell írnom, hogy termelésen kettő darab 1-es szintű van.
Köszönöm
-
Dolphine
addikt
válasz
szatocs1981 #28523 üzenetére
Csak egyszer kell elkészíteni a táblázatot!
Nagyon köszönöm a segítséget! -
szatocs1981
aktív tag
válasz
Dolphine #28522 üzenetére
Makrókat engedélyezed az EXCEL-ben, bemásolod, lefuttatod, majd ugyanúgy mented a munkalapot a makró nélkül.
Viszont ha ebbe a munkalapba nap, mint nap másolsz táblázatot, akkor "mentés makróval..." opciót válaszd és megmarad a makró.
A futtatás szerintem független ezetöl. Annak mennie kell, ha engedélyezve vannak.
-
Dolphine
addikt
válasz
szatocs1981 #28521 üzenetére
Ezer bocsánat én voltam a hülye!
Egy újabb kérdés. Gondolom ez a makró csak makróképes EXCEL-ként menthető, igaz? Különben nem tudom futtatni! -
Dolphine
addikt
válasz
szatocs1981 #28518 üzenetére
Valószínűleg valamit rosszul csinálok, mert a makrónál Error üzenet jön ki!
-
Delila_1
veterán
válasz
BenJoe80 #28517 üzenetére
feltöltöttem. A Munka2 lapot nézd!
-
szatocs1981
aktív tag
-
Dolphine
addikt
-
Zola007
veterán
a 2010-ben mi a hotkey az alsó és felső indexre?
-
-
spe88
senior tag
Létezik olyan funkció, hogy nem csak az ismétlődéseket, hanem az üres cellákat is eltávolítja egy adott oszlopból?
köszi
-
antikomcsi
veterán
Sziasztok!
Ebben a topikban már nem egyszer kaptam szuper segítséget, de sajnos azóta megint nem foglalkoztam a dologgal, és a nem használt minimális kis "tudásom" is a feledés homályába került.
Így elsőnek megkérdezném, hogy egyáltalán kivitelezhető a következő dolog?
Egy tetszőleges cellában létrehozunk egy legördülő listát, és amikor megjelenítjük a listát azt szeretnénk elérni, hogy a kiválasztott elemre kattintáskor ne annak értéket írja be a cellába, hanem egy új listát nyisson meg, és az kerüljön a cellába, amit abból választunk.
Erre azért lenne szükség, mert nem egy nagyon-nagyon hosszú listából kéne kiválasztani valamit, hanem több rövidet lehetne elsőnek kiválasztani, így jóval gyorsítható és kényelmesebbé tehető a folyamat.
Hogy egy PH-s példát írjak a dologhoz, mondjuk A1 cellába létrehozunk egy legördülő listát, melybe megjelenítjük B1-B2-B3-B4 cella értékét, B1-VGA, B2-Alaplap, B3-Táp, B4-RAM.
Lenyitom A1 legördülő listát, és kiválasztom az Alaplap értéket, de azt szeretném, hogy ekkor ne kerüljön be A1 cellába az, hogy "Alaplap", hanem ehhez tartozzon mondjuk C1-C33 cella értéke, és az innét választott cella tartalma kerüljön A1-be.
És ha meg lehet oldani, akkor lehet e fokozni még tovább, Úgy mint Lista nyit - Alaplap - Z87 - Innét választ?
Előre is köszönöm!
-
cekkk
veterán
Sziasztok!
Ha beírom ezt a képletet a cellába: =C2&" "&E2
Ez miért nem hajtódik végre?
Más táblázatokban is így csináltam és működik, valamint ha csak annyit írok, hogy =C2 akkor kiírja a C2 tartalmát -
Delila_1
veterán
válasz
valyogvisko #28502 üzenetére
Akkor nosza!
-
Delila_1
veterán
válasz
valyogvisko #28500 üzenetére
Feltételeztem, hogy mindkét lapon van címsorod, a tényleges adatok a 2. sorban kezdődnek.
Másik feltételezésem, hogy a B lapon az AA oszlopban már nincsenek adataid.A lenti makró a B lap AA oszlopába beírja a DARABTELI függvényt, ami megnézi, megtalálható-e az A oszlopában szereplő név az A lapon.
Ezután egy ciklusban törli az itt is, ott is szereplő nevek sorát, de csak a B lapon.A makróban megjegyzést tettem azokhoz a sorokhoz, ahol át kell írnod a lapok nevét, összesen 3 helyen.
Sub Duplat_Szuntet()
Dim sor As Long, usor As Long
Dim WSA As Worksheet, WSB As Worksheet
Set WSA = Sheets("A") '**********
Set WSB = Sheets("B") '**********
usor = Application.CountA(WSB.Columns(1))
WSB.Range("AA2:AA" & usor) = "=COUNTIF(A!A:A,A2)" 'Itt az A! módosítandó *********
With WSB
For sor = usor To 2 Step -1
If .Cells(sor, "AA") > 0 Then .Rows(sor).Delete Shift:=xlUp
Next
.Columns("AA") = ""
End With
End Sub
Új hozzászólás Aktív témák
Hirdetés
- Linux kezdőknek
- Autós topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Sony MILC fényképezőgépcsalád
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Linux Mint
- Vicces képek
- One otthoni szolgáltatások (TV, internet, telefon)
- Fujifilm X
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- Azonnali készpénzes INTEL CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS ROG Ally Z1 Extreme 512GB SSD játékkonzol garanciával hibátlan működéssel
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest