рдПрдХреНрд╕реЗрд▓ рдореЗрдВ VBA рдХреЛ рдЧрддрд┐ рджреЗрдВ

рдЫрд╡рд┐

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рдЖрдЬ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╡реАрдмреАрдП рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ (рдореИрдХреНрд░реЛрдЬрд╝ рд▓рд┐рдЦрдирд╛) рд╣реИред рдХреБрдЫ рдореИрдХреНрд░реЛрдЬрд╝ рдореЗрдВ рдХреЛрдб рдХреА рд╕реИрдХрдбрд╝реЛрдВ рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рд╣рд░ рджрд┐рди (рд╕рдкреНрддрд╛рд╣, рдорд╣реАрдиреЗ, рддрд┐рдорд╛рд╣реА, рдФрд░ рдЗрд╕реА рддрд░рд╣) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рд╡реЗ рдЙрдЪрд┐рдд рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ рдФрд░ рдорд╛рдирд╡ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдХреНрд░реЛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рджрд╕рд┐рдпреЛрдВ рдорд┐рдирдЯ рдпрд╛ рдХрдИ рдШрдВрдЯреЗ рднреА рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рд╕рдордп, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдкреИрд╕рд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЗ рдореИрдХреНрд░реЛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдХрд╛рдлреА рддреЗрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рдВрднрд╡рддрдГ, рдпрд╣ рдЖрдкрдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдЕрдВрддрддрдГ, рдкреИрд╕рд╛ред

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ


рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕реАрдзреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдкреЛрд╕реНрдЯ рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛: рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╡реАрдмреАрдП рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡ ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, "рдореИрдХреНрд░реЛ рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди" рдмреНрд▓реЙрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдзрд┐рдХрддрдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕реНрдереВрд▓ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдИ


рддреЛ, рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ ... рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реАрдмреАрдП рдХреЗ рдХрд╛рдо рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдпрдкрддреНрд░рдХ рдкрд░ рд╕реЗрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЗрд▓ рдореЗрдВ рдПрдХ рдорд╛рди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ рд╣рдЬрд╛рд░реЛрдВ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ (рдкрдврд╝рдиреЗ, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред рдПрд░реЗ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реАрдмреАрдП рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реИрдХрдбрд╝реЛрдВ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣рдЬрд╛рд░реЛрдВ рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ, рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдореВрд▓реНрдп рд╣реИрдВ, рддреЛ рдореИрдХреНрд░реЛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдХрдИ рдорд┐рдирдЯ рд╕реЗ рдХрдИ рдШрдВрдЯреЛрдВ рддрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рд░рдгреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдХреНрд░реЛ рдирд┐рд╖реНрдкрд╛рджрди рдХрдИ рд╕реЗрдХрдВрдб (рдорд┐рдирдЯ) рддрдХ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдореИрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдХреА рдХреБрдЫ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛ рд╕реАрдзреЗ рддреНрд╡рд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддреА рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рд╢реАрдЯ 1" ("рд╢реАрдЯ 1") рдкрд░ рдбреЗрдЯрд╛ рд╣реИред рдбреЗрдЯрд╛ 50 рдХреЙрд▓рдо (рдХреЙрд▓рдо рдореЗрдВ рдирд╛рдо) рдФрд░ 10,000 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдорд╛рди рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдореВрд▓реНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреАрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдореВрд▓реНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ (рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд╢реБрд░реВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖рдХ рд╣реЛрддрд╛ рд╣реИ)ред рдлрд┐рд░ рд╣рдо рдкрд╣рд▓реЗ 10 рдХреЙрд▓рдо рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ тАЬSheet2тАЭ (тАЬSheet2тАЭ) рдкрд░ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП (рдЕрдиреНрдп рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП)ред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдиреЗ рджреЗрдВ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рдкреВрд░реЗ рд╕рд╛рд░ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

'   ,    '     Option Explicit Sub Test() '      Dim Sheet1_WS, Sheet2_WS As Worksheet '      ( ) Dim i As Long ',       Dim R_data As Variant '     Dim FinalRow, FinalColumn As Long '     ,     'Set Sheet1_WS = Application.ThisWorkbook.Worksheet("Sheet1") Set Sheet1_WS = Application.ThisWorkbook.Sheets(1) Set Sheet2_WS = Application.ThisWorkbook.Sheets(2) '        ',      ,         '   ,   ,     . ,       .        . FinalRow = Sheet1_WS.Cells(Rows.Count, 1).End(xlUp).Row '=10 000 '        FinalColumn = Sheet1_WS.Cells(1, Columns.Count).End(xlToLeft).Column '=50 '      1 R_data = Sheet1_WS.Range(Sheet1_WS.Cells(1, 1), Sheet1_WS.Cells(FinalRow, FinalColumn)) For i = 2 To FinalRow '     . ',       . ',    2  3    '    If R_data(i, 3) <> 0 Then R_data(i, FinalColumn) = R_data(i, 2) / R_data(i, 3) End If Next i '      1 '      (    ,   Sheet1_WS.Cells.ClearContents) Sheet1_WS.Cells.Delete Sheet1_WS.Range(Sheet1_WS.Cells(1, 1), Sheet1_WS.Cells(FinalRow, FinalColumn)) = R_data '   2,   10 . Sheet2_WS.Range(Sheet2_WS.Cells(1, 1), Sheet2_WS.Cells(FinalRow, 10)) = R_data '     Workbooks(Application.ThisWorkbook.Name).Close SaveChanges:=True End Sub 


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рд░рдгреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИред рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╢реАрдЯ рдкрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВ:

 Dim R_new() As Variant ............................................ '     ReDim R_new(1 To FinalRow, 1 To 50) As Variant ........................................... Sheet1_WS.Range(Sheet1_WS.Cells(1, 1), Sheet1_WS.Cells(FinalRow, 50)) = R_new() 


рдирд┐рд╖реНрдХрд░реНрд╖


рд╢реАрдЯ рдкрд░ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдбреЗрдЯрд╛ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрд╢рди рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рдПрдХ рд╢реАрдЯ рдкрд░ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЫрдВрдЯрд╛рдИ) рдХрд░реЗрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рд░рдгреА рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВред

рдЪрд╛рджрд░реЛрдВ рдкрд░ рдбреЗрдЯрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рд▓рд┐рдП рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореИрдХреНрд░реЛ рдХреЗ рдХрд╛рдо рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдп рдерд╛ред рд▓реЗрдХрд┐рди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рд╢реАрдЯ рдкрд░ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореИрдВ рдПрдХ рд╢реАрдЯ рдкрд░ рдбреЗрдЯрд╛ рдХреА рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдкрд░ рд╕реБрдЭрд╛рд╡ (рдЙрджрд╛рд╣рд░рдг) рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдкреЛрд╕реНрдЯ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди, рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд▓рд┐рдЦреЗрдВред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╕рдлрд▓ рд╡рд┐рдХрд╛рд╕ред

Source: https://habr.com/ru/post/In158725/


All Articles