-
GAMEPOD.hu
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
Topikgazda
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 SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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 SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
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