Hirdetés
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sapphi: StremHU | Source – Self-hostolható Stremio addon magyar trackerekhez
- Geri Bátyó: Samsung T7 1TB külső SSD
- bambano: Bambanő háza tája
- sh4d0w: Skywalker: Revealed
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
-
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
-
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 -
Delila_1
veterán
A B:C oszlopba az Egyéb alá beszúrtam pár cellát (Ctrl és + jelre felugrik egy ablak, amiből a Cellák eltolása lefelé opciót választottam).
A C7 cella jobb alsó sarkában lévő kis kék jelet a beszúrt cellák utolsó C-jébe húztam át, ezzel megnöveltem a Bevételtbl nevű táblázat méretét. Ennyi.
Szerk.: ja, és a [link].
-
Delila_1
veterán
válasz
lmate96
#33502
üzenetére
"adott létszámnál mennyi idő alatt lehet teljesíteni az adott rendelést, mikorra végeznek."
Ehhez fel kell venned minden termékhez (termékszámhoz) egy külön táblázatot, ami azt tartalmazza, hogy 1 embernek hány óra munkát jelent.
Az egyes megrendeléseknél azt kell megadnod, hogy melyik termékből hány hány darabot kérnek, és mikor kezditek a megrendelés összeállítását.
A két kis táblázat nem alkalmas a feladatodhoz, csak kis része az egésznek.
Új hozzászólás Aktív témák
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- MS SQL Server 2016, 2017, 2019
- Foligain Minoxidil 2 db flakon (2 havi adag)
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 512GB SSD RX 590 8GB ZALMAN T4 Plus ADATA 600W
- BESZÁMÍTÁS! MSI B450 R7 5700X 32GB DDR4 512GB SSD RTX 3070Ti 8GB Zalman Z1 Plus Cooler Master 750W
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, 100% Akksi, MS4120
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


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

