-
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
#25712384
#34143
üzenetére
A lenti rövid kis makrót másold be egy modulba, ezzel hamar létrehozhatod a beszúrásokat.
Sub OszlopBeszuras()
Dim oszlop As Integer, uoszlop As Integer
uoszlop = Cells(1, Columns.Count).End(xlToLeft).Column
For oszlop = uoszlop To 2 Step -1
Columns(oszlop).EntireColumn.Insert
Next
End Sub -
Delila_1
veterán
-
Delila_1
veterán
válasz
tzimash
#34065
üzenetére
Hol vannak a data lapon az adatok, ahol keresni kell?
Hova másolja a talált számokat?Mi az a választható "SMT 13"?
Kicsit részletesebb magyarázat kellene erre: "a megadott sor-nak a száma 1-13 lehet, ez kitöltetlen nem maradhat." Befolyásolja ez a keresést, vagy csak kötelező legyen kiválasztani egy értéket? -
Delila_1
veterán
válasz
RAiN91
#34066
üzenetére
Feltettem ide egy fájlt.
A Module1-ben lévő Pontosido makró utolsó sorában írhatod át, hogy melyik cellában legyenek a random számok, a laphoz rendeltben pedig, azt, hogy hova várod az A betűt, és hogy hova írja be az aktuális értéket.
Tettem egy Leállítás gombot is a lapra, hogy A betű beírása nélkül is leállítható legyen a folyamat.
-
Delila_1
veterán
válasz
bucihost
#34035
üzenetére
A makrót egy modulba másold be.
Sub Zene_bona()
Dim sor As Long, usor As Long, db As Long, j As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = usor To 1 Step -1
db = Cells(sor, 2)
For j = 1 To db - 1
Rows(sor).EntireRow.Insert
Next
Range("A" & sor & ":A" & sor + db - 2) = Cells(sor + db - 1, 1)
Next
End SubSzerk.:
Az End Sub fölé betehetsz egy sortColumns(2).ClearContentsami a B oszlop számait törli.
-
Delila_1
veterán
válasz
Savaria90
#34024
üzenetére
Bocsi! Nem figyeltem, hogy megadtad a számokat tartalmazó oszlopot (C).
Ennek megfelelően átírtam a makrót, az eredmények a D és E oszlopokba kerülnek.Sub MinMax()
Dim sor As Long, KepletHelye As Long
KepletHelye = 2
For sor = 2 To 600000 Step 1440
Cells(KepletHelye, "D") = "=min(C" & sor & ":C" & sor + 1439 & ")"
Cells(KepletHelye, "E") = "=max(C" & sor & ":C" & sor + 1439 & ")"
KepletHelye = KepletHelye + 1
Next
End Sub -
Delila_1
veterán
válasz
Savaria90
#34024
üzenetére
Nálam a 600000 sor az A oszlopban van. A MIN értékeket az egyes tartományokra a B oszlopba-, a MAX-okat a C-be írja egymás alá a makró. Modulba másold be – lásd hozzá a összefoglaló leírását.
Sub MinMax()
Dim sor As Long, KepletHelye As Long
KepletHelye = 2
For sor = 2 To 600000 Step 1440
Cells(KepletHelye, "B") = "=min(A" & sor & ":A" & sor + 1439 & ")"
Cells(KepletHelye, "C") = "=max(A" & sor & ":A" & sor + 1439 & ")"
KepletHelye = KepletHelye + 1
Next
End Sub -
Delila_1
veterán
válasz
fogtunder
#34010
üzenetére
Sub Masolatok()
Dim usor As Long, ide As Long
ide = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row + 1
usor = Sheets("Sheet2").Cells.SpecialCells(xlLastCell).Row
Sheets("Sheet2").Range("A4:B" & usor).Copy Sheets("Sheet1").Range("A" & ide)
Sheets("Sheet2").Range("K4:K" & usor).Copy Sheets("Sheet1").Range("H" & ide)
Sheets("Sheet2").Range("N4:P" & usor).Copy Sheets("Sheet1").Range("K" & ide)
Sheets("Sheet3").Range("C1:E1").Copy Sheets("Sheet1").Range("E1")
'Képletek
usor = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("J" & ide & ":J" & usor) = "=H" & ide & "*I" & ide
Sheets("Sheet1").Range("C" & ide & ":C" & usor) = "=vlookup(A" & ide & ",Support!L:Q,4,0)"
Sheets("Sheet1").Range("D" & ide & ":D" & usor) = "=vlookup(A" & ide & ",Support!L:Q,3,0)"
Sheets("Sheet1").Range("I" & ide & ":I" & usor) = "=iferror(vlookup(A" & ide & ",MAP!B:E,4,0),0)"
' Sheets("Sheet1").Range("A:M") = Sheets("Sheet1").Range("A:M").Value
End SubA Sheet2 lapról a negyediktől az utolsó sorig másol. A Sheet3-ról csak a címsorokat, a Support és MAP lapokról képletek adják a Sheet1 adatait.
-
Delila_1
veterán
válasz
kezdosql
#34009
üzenetére
...soronkent es oszloponkent osszesitettek es latszott, hogy hanyszor es hol fordul elo.
Ehhez jó lenne, ha betennél egy képet. Anélkül nem világos, mit hova írsz be.
A válaszom arra vonatkozott, hogy egy tartományban miképp számolhatod meg egy karakter előfordulási darabszámát.
-
Delila_1
veterán
válasz
fogtunder
#34003
üzenetére
A megjegyzésbe tett utolsó sor végzi a Sheet1 lapon az értékké alakítást.
Sub Masolatok()
Dim usor As Long
usor = Sheets("Sheet2").Cells.SpecialCells(xlLastCell).Row
Sheets("Sheet2").Range("A4:B" & usor).Copy Sheets("Sheet1").Range("A4")
Sheets("Sheet2").Range("K4:K" & usor).Copy Sheets("Sheet1").Range("H4")
Sheets("Sheet2").Range("N4:P" & usor).Copy Sheets("Sheet1").Range("K4")
Sheets("Sheet3").Range("C1:E1").Copy Sheets("Sheet1").Range("E1")
Sheets("Sheet1").Range("J4:J" & usor) = "=H4*I4"
Sheets("Sheet1").Range("C4:C" & usor) = "=vlookup(A4,Support!L:Q,4,0)"
Sheets("Sheet1").Range("D4:D" & usor) = "=vlookup(A4,Support!L:Q,3,0)"
Sheets("Sheet1").Range("I4:I" & usor) = "=iferror(vlookup(A4,MAP!B:E,4,0),0)"
' Sheets("Sheet1").Range("A:M") = Sheets("Sheet1").Range("A:M").Value
End Sub -
Delila_1
veterán
válasz
fogtunder
#33995
üzenetére
Meg kellene adnod a C, D és I oszlop függvényeit a Sheet1 lapon, akkor azokat is beírnám a makróval.
Sub Masolatok()
Dim usor As Long
Sheets("Sheet2").Range("A:B").Copy Sheets("Sheet1").Range("A1")
usor = Sheets("Sheet2").Range("K" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("K4:K" & usor).Copy Sheets("Sheet1").Range("H1")
Sheets("Sheet2").Range("N:P").Copy Sheets("Sheet1").Range("K1")
Sheets("Sheet3").Range("C:E").Copy
Sheets("Sheet1").Range("E1").PasteSpecial xlPasteValues
' Ide a C, D és I oszlop függvényeit add meg
usor = Sheets("Sheet1").Range("H" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("J1:J" & usor) = "=I1*J1"
Sheets("Sheet1").Range("A:M") = Sheets("Sheet1").Range("A:M").Value
End SubAz utolsó sor a Sheets1 lapon az A:M tartományt értékként ugyanoda beilleszti.
-
Delila_1
veterán
válasz
botond187
#33987
üzenetére
A Sheet1 lapon a B oszlopban az adatok szöveg típusúak, a Sheet2-n viszont számként szerepelnek. Ezt úgy tudod egyszerűen ellenőrizni, hogy ráállsz az első adatra (B2), majd a Shift-et nyomva tartod, és az egérrel rendre kijelölöd az alatta lévő cellákat. Számoszlop esetén a státuszsorban változnak a Min, Max, Átlag, Összeg értékek.
A Sheet2 lapon átalakítjuk a B oszlop értékeit szöveg típusúvá a
=BAL(FIX(A2;0;1);12)képlettel, és minden OK.Tehetnénk fordítva is, hogy a Sheet1 B oszlop értékeit konvertáljuk számokká, de
1. a fuvarlevél számával nem hajtunk végre matematikai műveleteket (telefonszám, adószám is ilyen)
2. a szöveges adatok kisebb helyet foglalnak el a memóriában, mint a számértékek -
Delila_1
veterán
válasz
nordican
#33971
üzenetére
Csak most nézem a feladatodat, de már az elején zavaros. Biztosan ezért nem kapsz érdemi választ.
"...az A1 és az A3 cellában készül két különböző (többtételes) lista..."Egy cellában nem lehet lista, csak egyetlen adat.
Tegyél fel egy füzetet, amiben a lapjaid neve az igazi. Írj valamilyen adatokat, ahova kell, és írd bele azt is, hogy mit akarsz ezekből kihozni.
-
Delila_1
veterán
Kedves Törzstagok és nem törzsek!
Fferi felvetette, hogy hozzunk létre egy tárhelyet, ahol a többször felvetett kérdésekre válaszoltunk (GYIK).
Kérem, segítsetek!Ha eszetekbe jut egy-egy ilyen kérdés, írjátok be egy hsz-be, és esetleg írjátok be mellé a választ tartalmazó hsz sorszámát.
Ezeket átmásolom a LOGOUTomba, ami a nevem alatt lévő LOGOUT blog (1)-re kattintva jön elő. Később, ha már több téma összejött, az összefoglalóba is beteszem az elérhetőségét.
Köszönöm a segítségeteket,
Delila -
Delila_1
veterán
-
Delila_1
veterán
válasz
Fferi50
#33838
üzenetére
Felvittem az elsőt.
Aki tudja, folytassa! -
Delila_1
veterán
Kiegészítettem a 2 lapot az új oszlopokkal és képletekkel.
Nem mondom, hogy egyszerűen átlátható, mert az INDEX függvénynek a hivatkozásos változatát sokkal ritkábban alkalmazzuk, mint a tömböset.
Újabb anyagok, típusok bevitelénél a H és I oszlop képleteit bővíteni kell.Itt találod meg a füzetet.
-
Delila_1
veterán
válasz
Fferi50
#33826
üzenetére
Munkalapra is el lehet helyezni, nem szükséges a userform. A hátránya, hogy ha sok sorba akarunk ezzel a módszerrel adatot bevinni, egyrészt csúnyán megnöveli a fájl méretét, másrészt soronként kell meghatározni a LinkedCell értékét.
Makróval meg lehetne oldani viszont, hogy mindig az első üres sorba íródjon fel a ListFillRange tulajdonságnál megadott tartományból kiválasztott érték.
Itt a C oszlop első üres sora lesz a célcella.
Private Sub ComboBox1_Change()
Dim sor As Long
sor = Range("C" & Rows.Count).End(xlUp).Row + 1
Range("C" & sor) = ComboBox1
End Sub -
Delila_1
veterán
válasz
Véreshurka
#33621
üzenetére
Próbáld az Excel beállításai | Népszerű elemek | Színséma beállítást módosítani, hátha...
-
Delila_1
veterán
válasz
bteebi
#33655
üzenetére
Nálam működik így:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim valasz As String, firstemptyrow As Long
If Target.Column = 6 And Target = "Archiválható" Then
Application.EnableEvents = False
rwind = Target.Row
valasz = MsgBox("Szeretnéd archiválni?", vbYesNo, "Archiválás")
If valasz = vbYes Then
firstemptyrow = Sheets("Archivált").Cells(Rows.Count, 2).End(xlUp).Row + 1
Range(Cells(rwind, 2), Cells(rwind, 6)).Cut Destination:=Sheets("Archivált").Cells(firstemptyrow, 2)
Range(Cells(rwind, 1), Cells(rwind, 6)).Delete Shift:=xlUp
Else: MsgBox "Nem lett archiválva!", vbOKOnly, "Archiválás"
End If
Sheets("Adatok").Cells(rwind, 2).Select
Application.EnableEvents = True
End If
End Sub -
Delila_1
veterán
válasz
Zola007
#33643
üzenetére
A cellák egyesítése megengedett, de a hasonló malőrök miatt kerülendő.
Át lehet hidalni például egy címsor középre helyezésénél úgy, hogy az első cellába beírod a szöveget, kijelölöd a cellákat, amiknek a közepén látsszon, majd a cellaformázás, igazítás fül, vízszintes elrendezés legördülőjéből "A kijelölés közepére" opciót választod.
-
-
Delila_1
veterán
válasz
Cartman023
#33631
üzenetére
Az érvényesítésnél a Megengedve legördülőben kiválaszthatod a dátumot, ahol megadhatod a min és max értékeket.
-
Delila_1
veterán
válasz
Reinhardt
#33628
üzenetére
Rögzíts egy sort, amiben csak egy nyomtatást hajtasz végre. Ez azért kell, mert a rögzítés tartalmazza, hogy melyik nyomtatóra küldöd az anyagot.
Másold be egy modulba a lenti makrót.
Sub Nyomtat()
Dim napig, nap As Integer
napig = Application.WorksheetFunction.EoMonth(Date, 0)
napig = Day(napig)
For nap = 1 To napig
ActiveSheet.PageSetup.CenterHeader = "Date: " & nap & "/" & Month(Date) & "/" & Year(Date)
'ide jön a rögzített nyomtatási sor
Next
End SubA megjegyzésbe írt 'ide jön... helyére másold be a rögzített sorodat. Mentsd el a füzetet makróbarátként.
A lapról töröld ki a sort, ami most a dátumot tartalmazza, mert ezt a makró az élőfejbe írja majd be.
A makró az aktuális hónap minden napjára elkészíti a nyomtatást, a fejlécben a napi dátummal. -
-
Delila_1
veterán
válasz
Anonymus23
#33594
üzenetére
Készíts egy biztonsági másolatot, majd végezd el az oszlopok törlését.
-
Delila_1
veterán
válasz
Anonymus23
#33592
üzenetére
Ha nem makrókkal dolgozol, a képletek igazodnak a törlés utáni valós helyzethez.
-
Delila_1
veterán
válasz
Anonymus23
#33590
üzenetére
A teljes B-C-D oszlopban meg kellene szüntetned az összevonásokat. Kiszélesíted a B oszlopot, a másik kettőt törölheted. Hasonlóan járj el az E-F-G oszlopokkal. Ezután vidd be az érvényesítést a másik lapon elnevezett tartományra hivatkozva.
Itt semmi értelme az összevonásoknak, egyébként is kerülni kell, ha 1 mód van rá.
-
Delila_1
veterán
válasz
Anonymus23
#33587
üzenetére
Az oszlopazonosítók nem látszanak a képen, a B19 cellára gondolok.
-
Delila_1
veterán
válasz
Anonymus23
#33585
üzenetére
Adatok | Érvényesítés menü. A Beállítások fülön a Megengedve legördülőben a Bármilyen érték-et add meg a cellára.
-
Delila_1
veterán
válasz
Reinhardt
#33558
üzenetére
Egy cellába beírtam: 0:15, majd általánosra váltottam át a cellaformátumot.
Kaptam egy szép hosszú törtet, ezt: 0,0104166666666667. A képletben ezt használtam a kerekítéshez.E2 -> =MROUND(HA(D2>C2;D2-C2;24-C2+D2);0,0104166666666667)
F2 -> =E2-"8:00"
G2 -> =E2-"0:30"Az összegző képletek cellaformátuma [ó]:00 legyen.
-
Delila_1
veterán
válasz
dfilpo
#33535
üzenetére
Az első lapon vannak az adatok. A makró egyenként átmásolja egy új lapra a címsort, alá az egyes sorokat, majd az új lapot lementi 1.xlsx, 2.xlsx, stb. néven abba a könyvtárba, ahol a makrós fájl van.
Sub MentesFajlokba()
Dim sor As Long, utvonal As String
utvonal = ActiveWorkbook.Path
sor = 2
Do While Cells(sor, "A") <> ""
With Sheets(1)
.Rows(1).Copy Sheets(2).Range("A1")
.Rows(sor).Copy Sheets(2).Range("A2")
End With
Sheets(2).Copy
ActiveWorkbook.SaveAs utvonal & "\" & sor - 1 & ".xlsx"
ActiveWorkbook.Close
sor = sor + 1
Loop
Application.DisplayAlerts = False
Sheets(2).Delete
Application.DisplayAlerts = True
End Sub
Új hozzászólás Aktív témák
- AMD Navi Radeon™ RX 9xxx sorozat
- Formula-1
- Építő/felújító topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Pedzegeti az új Xbox irányát a Microsoft
- Milyen monitort vegyek?
- gban: Ingyen kellene, de tegnapra
- RAM topik
- Házimozi haladó szinten
- Nintendo Switch 2
- További aktív témák...
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- ÁRGARANCIA! Épített KomPhone i9 14900KF 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Magyar Logitech G915 Billentyűzet lehet +33.000.- Ft ból
- BESZÁMÍTÁS! Asus Z170 Deluxe Z170 chipset alaplap garanciával hibátlan működéssel
- Apple iPhone 13 mini 256GB Pink használt, szép állapot 100% akku 6 hónap garancia
- BESZÁMÍTÁS! MSI B650 R7 7700 32GB DDR5 1TB SSD RX 9070XT 16GB LIAN LI LANCOOL 217 Wood 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


![;]](http://cdn.rios.hu/dl/s/v1.gif)
