-
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
-
Pakliman
tag
válasz
fogtunder #39252 üzenetére
Nálunk a cégnél is lecserélték a gépemet egy win10-es rendszerűre (ez nem lenne gond, a laposomon is az van), amire az Office 2016-ot rakták.
Elég sok munkafüzetem van, ami tele van makrókkal és képletekkel, soha nem volt probléma velük, normálisan lehetett velük dolgozni. A 2016-os ofisz viszont betett mindennek, rendszeresek a fagyások, a hosszú percekig tartó megnyitások, szükségtelen újraszámolások, "A Microsoft Excel működése leállt. Újraindítsuk? Anyádat!!!". És a lényeg, iszonyatosan laggol, a sorok közötti mozgás is!!
Kértem vissza az Office 2010-et, de hát ugye cég, nem adják
Tehát: nem hálózati gond, nem gép gond -> az ofisz2016 egy rakás fxs -
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
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
fogtunder #21168 üzenetére
Cells-nél kötelező a sor, oszlop szintaktika. Ha a hangulatod szerint változtatnád, honnan tudná szegény VBA, hogy éppen mit értsen a megadott paramétereken?
A range-nél éppen fordítva, oszlop, sor a sorrend. Hogy miért így írták meg a fejlesztők, az rejtély előttem.
-
Delila_1
veterán
válasz
fogtunder #21161 üzenetére
A makróba írtam magyarázó kommenteket.
Sub Valami()
Dim usor As Long, oszlop As Integer
'alsó sor az A oszlopban
usor = Range("A" & Rows.Count).End(xlUp).Row
'első üres oszlop a 3. sorban
oszlop = Range("A3").End(xlToRight).Column + 1
'képlet az első üres oszlopba 3-tól usorig
Range(Cells(3, oszlop), Cells(usor, oszlop)) = _
"=IFERROR(VLOOKUP(A3,Stock_Movements_Coverage!A:AC,17,0),0)"
Columns(oszlop).Copy 'képletek másolása
'értékek irányított beillesztése
Cells(1, oszlop).PasteSpecial xlPasteValues
End Sub
Új hozzászólás Aktív témák
- Kezdő fotósok digitális fényképei
- Autós topik
- Kínai és egyéb olcsó órák topikja
- Windows 10
- Ilyen vékony lesz a Huawei Mate 70 Air
- Milyen billentyűzetet vegyek?
- Elemlámpa, zseblámpa
- Felszállni készülő drón? Nem, nyitott In Win "ház"!
- Semmibe veszi a KRESZ-t a Tesla Mad Max módja
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- További aktív témák...
- Dell latitude, precision, xps, magyar világítós billentyűzetek eladóak
- Honor X6b 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5060Ti 16GB GAMER PC termékbeszámítással
- Apple Pad 5.generácio / 32GB / Wi-fi / 12Hó garancia
- HP EliteOne 800 G5 All-in-One i5-9500 32GB 1000GB 23.8" Érintőkijelző!! 1 év garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő