VBA рдХреЗ рд╕рд╛рде Microsoft Excel рдореЗрдВ рдирд┐рдпрдорд┐рдд рд╕реНрд╡рдЪрд╛рд▓рди

рд╕рднреА рдХрд╛ рдЕрднрд┐рд╡рд╛рджрдиред









рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдХреНрд╕реЗрд▓ 2007/2010 рдореЗрдВ VBA рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ (рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрджрд▓рддрд╛ рд╣реИ - рдХреЛрдб рдПрдХ рдЕрд▓рдЧ рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧрд╛)ред















VBA (Visual Basic for Applications) рд╡рд┐рдЬреБрдЕрд▓ рдмреЗрд╕рд┐рдХ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдХрдИ Microsoft Office рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реАрдзреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЖрдИрдбреАрдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдбрд┐рдмрдЧрд░ рд╕рд╣рд┐рдд рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╣реИред









рдСрдлрд┐рд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк C # рдореЗрдВ рдореИрдХреНрд░реЛрдЬрд╝ рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдореНрдмреЗрдб рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж, рдлрд╛рдпрд░рд╕реНрдЯреЙрд░реНрдо ред









рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ - рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦрдирд╛ (C ++ / Delphi / PHP) рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрд╛рд▓рдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдирд╛, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ - рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рдПрдореНрдмреЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдФрд░ Microsoft рдЗрдВрдЯрд░рдлреЗрд╕ COM рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкреВрд░реЗ рдЖрддрдВрдХ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ COM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред









рдЗрд╕рд▓рд┐рдП, рдЕрдлрд╕реЛрд╕, рд╣рдо Visual Basic рд╕реАрдЦреЗрдВрдЧреЗред









рдереЛрдбрд╝реА рддреИрдпрд╛рд░реА рдФрд░ рд╕рдорд╕реНрдпрд╛ рдмрдпрд╛рди



рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред рдПрдХреНрд╕реЗрд▓ рдЦреЛрд▓реЗрдВред









рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд░рд┐рдмрди рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдкреИрдирд▓ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕рдореЗрдВ рдлреЙрд░реНрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди, рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдФрд░ рдЕрдиреНрдп рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

















рдПрдХ рдЯреИрдм рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред

















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

















рдпрд╣реА рд╣реИ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рдореВрд╣ рд╣реЛрдВ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдорд╛рди рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпреЗ рдЯрд╛рдЗрдк рдФрд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реЛрдВрдЧреЗ - рдЗрд╕ рдХреНрд░рдо рдореЗрдВ)ред рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ рддрд╛рдХрд┐ рдПрдХ рд╕рдореВрд╣ рд╕реЗ рд╕рд╛рдорд╛рди рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣реЛ (рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ , рдлрд┐рд░ рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛)ред









рдкрд░рд┐рдгрд╛рдо рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

















рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдореВрд▓реНрдп рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рдЙрддреНрдкрд╛рдж рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдХрд╛рд░реНрдп рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд╣реИ рдирд╛?









рдХреЛрдб



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

















рдФрд░ рдпрд╣рд╛рдБ рд╣рдо VB рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВред рдЗрд╕реЗ "рдореЗрдиреНрдпреВ рдЯреЗрдХреНрд╕реНрдЯ" / "рдХреЛрдб рджреЗрдЦреЗрдВ" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ рднреА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

















рдпрд╣рд╛рдБ рдПрдХ рд╡рд┐рдВрдбреЛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрдЯрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:









Sub FormatPrice()



End Sub












рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ:









Sub FormatPrice()

MsgBox "Hello World!"

End Sub












рдФрд░ рдпрд╛ рддреЛ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВ (рдкрд╣рд▓реЗ рд╕реЗ рдЪрдпрди рд╣рдЯрд╛рдХрд░), рдпрд╛ рд╕рдВрдкрд╛рджрдХ рд╕реЗ рд╕реАрдзреЗ F5 рджрдмрд╛рдХрд░ред









рдпрд╣рд╛рдВ, рд╢рд╛рдпрдж, рд╣рдореЗрдВ рд╡реАрдмреА рдХреЗ рд╡рд╛рдХреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ, рд╡рд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЦрдВрдб рдХреЛ рдЕрдВрдд рддрдХ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рдмреЗрд╕рд┐рдХ рдФрд░ рдкрд╛рд╕реНрдХрд▓ / рд╕реА / рдЬрд╛рд╡рд╛ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ ; , рд▓реЗрдХрд┐рди рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдпрд╛ рдХреЛрд▓рди ( :) рджреНрд╡рд╛рд░рд╛ , рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рдкрд░ рдХрдИ рдХрдорд╛рдВрдб рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рдореВрд▓ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕рд╛рд░ рдХреЛрдб рджреВрдВрдЧрд╛ред













рд╕рд┐рдВрдЯреЗрдХреНрд╕ рдЙрджрд╛рд╣рд░рдг


' .

' VBA

Sub foo(a As String , b As String )

' Exit Sub ' " "

MsgBox a + ";" + b

End Sub



' . Integer

Function LengthSqr(x As Integer , y As Integer ) As Integer

' Exit Function

LengthSqr = x * x + y * y

End Function



Sub FormatPrice()

Dim s1 As String , s2 As String

s1 = "str1"

s2 = "str2"

If s1 <> s2 Then

foo "123" , "456" '

End If



Dim res As sTRING ' VB . ,

Dim i As Integer

'

For i = 1 To 10

res = res + CStr(i) ' String

If i = 5 Then Exit For

Next i



Dim x As Double

x = Val( "1.234" ) '

x = x + 10

MsgBox x



On Error Resume Next ' -

x = 5 / 0

MsgBox x



On Error GoTo Err ' Err

x = 5 / 0

MsgBox "OK!"

GoTo ne



Err:

MsgBox "Err!"



ne:

On Error GoTo 0 '



' ,

Do While True

Exit Do



Loop 'While True

Do 'Until False

Exit Do

Loop Until False

' , , .

' Val Integer

Select Case LengthSqr(Len( "abc" ), Val( "4" ))

Case 24

MsgBox "0"

Case 25

MsgBox "1"

Case 26

MsgBox "2"

End Select



' .

' ReDim (Preserve) - . google

Dim arr(1 to 10, 5 to 6) As Integer

arr(1, 6) = 8



Dim coll As New Collection

Dim coll2 As Collection

coll.Add "item" , "key"

Set coll2 = coll ' Set

MsgBox coll2( "key" )

Set coll2 = New Collection

MsgBox coll2.Count

End Sub








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









рд░реЗрдХ реиред рдХреНрдпреЛрдВрдХрд┐ рд╡реАрдмреА рдЖрдкрдХреЛ рдЕрдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ (рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдкрд╣рд▓реЗ) рд╡рд┐рдХрд▓реНрдк рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЪрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред









рд░реЗрдХ рейред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдерд╛рдиреАрдп - рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рдХрд╛рд░реНрдп рдореЗрдВ рдХрд╣реАрдВ рднреАред









рдХреБрдЫ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛ рдХрд╛рдо рдЖ рд╕рдХрддреА рд╣реИрдВ: InPos , Mid , Trim , LBound , UBound ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди / рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм MSDN рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред









рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕реЗ рдбрд░рдиреЗ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╣реЛрдорд╡рд░реНрдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдкреЛрд╕реНрдЯ рдХреЗ рджреМрд░рд╛рди рдореИрдВ рдЖрдкрдХреЛ рдирдП рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдКрдВрдЧрд╛ред









рд╣рдо рдПрдХреНрд╕реЗрд▓ рдХреЗ рддрд╣рдд рдмрд╣реБрдд рдХреЛрдб рдХрд░рддреЗ рд╣реИрдВ



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









Sub FormatPrice()

Sheets( "result" ).Cells.Clear

Sheets( "data" ).Activate

End Sub












рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ



рдПрдХреНрд╕реЗрд▓ VBA рдореЗрдВ рд╕рднреА рдХрд╛рдо рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рд░реЗрдВрдЬ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЯрд╛рдЗрдк рд░реЗрдВрдЬ рдХреА рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдФрд░ / рдпрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рд╣реИред рд╡реИрд╕реЗ, рд╢реАрдЯ рдХреА рд╕реЗрд▓ рд╕рдВрдкрддреНрддрд┐ рд░реЗрдВрдЬ рднреА рд╣реИ ред













рд░реЗрдВрдЬ рдХреЗ рдЙрджрд╛рд╣рд░рдг


Sheets( "result" ).Activate

Dim r As Range

Set r = Range( "A1" )

r.Value = "123"

Set r = Range( "A3,A5" )

r.Font.Color = vbRed

r.Value = "456"

Set r = Range( "A6:A7" )

r.Value = "=A1+A3"








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









  1. рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗ рдЧрд┐рдиреЗ рдЧрдП рд╕рдореВрд╣ред
  2. рд╣рдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕рднреА рд╕рдореВрд╣реЛрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ (рдкрд╣рд▓реЗ, рдмрдбрд╝реЗ рд╡рд╛рд▓реЗ)

    1. рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдореВрд╣ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ AddGroup (i, name) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдореИрдВ рд╕рдореВрд╣ рд╕рдВрдЦреНрдпрд╛ (рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХрддрдо рддрдХ) рд╣реВрдВ , рдирд╛рдо рдЙрд╕рдХрд╛ рдирд╛рдо рд╣реИред рди рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рд╣реЗрдбрд░, рдмрд▓реНрдХрд┐ рд╕рднреА рдЫреЛрдЯреЗ рд╡рд╛рд▓реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  3. рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рдЦреАрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдФрд░ рд▓рд╛рдЗрди рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛ рд╕реЗ рднрд░реЗрдВред




рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдореА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ:









Function GetCol(Col As Integer ) As String

GetCol = Chr(Asc( "A" ) + Col)

End Function



Function GetCellS(Sheet As String , Col As Integer , Row As Integer ) As Range

Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))

End Function



Function GetCell(Col As Integer , Row As Integer ) As Range

Set GetCell = Range(GetCol(Col) + CStr(Row))

End Function












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













рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░


Option Explicit '

Dim CurRow As Integer

Const GroupsCount As Integer = 2

Const DataCount As Integer = 3












FormatPrice


Sub FormatPrice()

Dim I As Integer ' data

CurRow = 1

Dim Groups(1 To GroupsCount) As String

Dim PrGroups(1 To GroupsCount) As String



Sheets( "data" ).Activate

I = 2

Do While True

If GetCell(0, I).Value = "" Then Exit Do

' ...

I = I + 1

Loop

End Sub








рдЕрдм рдЖрдкрдХреЛ рд╕рдореВрд╣ рд╕рд░рдгреА рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:













рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХреЗ рд╕реНрдерд╛рди рдкрд░


Dim I2 As Integer

For I2 = 1 To GroupsCount

Groups(I2) = GetCell(I2, I)

Next I2

' ...

For I2 = 1 To GroupsCount ' VB

PrGroups(I2) = Groups(I2)

Next I2

I = I + 1








рдФрд░ рд╣реЗрдбрд░ рдмрдирд╛рдПрдБ:













рдкрд┐рдЫрд▓реЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЗ рд╕реНрдерд╛рди рдкрд░


For I2 = 1 To GroupsCount

If Groups(I2) <> PrGroups(I2) Then

Dim I3 As Integer

For I3 = I2 To GroupsCount

AddHeader I3, Groups(I3)

Next I3

Exit For

End If

Next I2








AddHeader рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛:













рдкреНрд░рд╛рд░реВрдк рдореВрд▓реНрдп рд╕реЗ рдкрд╣рд▓реЗ


Sub AddHeader(Ty As Integer , Name As String )

GetCellS( "result" , 1, CurRow).Value = Name

CurRow = CurRow + 1

End Sub








рдЕрдм рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ









For I2 = 0 To DataCount - 1

GetCellS( "result" , I2, CurRow).Value = GetCell(I2, I)

Next I2












рдХреЙрд▓рдо рдХреЛ рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рдлрд┐рдЯ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдкрддреНрд░рдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ













FormatPrice рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓реВрдк рдХреЗ рдмрд╛рдж


Sheets( "Result" ).Activate

Columns.AutoFit








рд╡рд╣ рд╕рдм рд╣реИред рдЖрдк рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЖрдирдВрдж рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

















рдмрджрд╕реВрд░рдд, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдЪрд▓реЛ рд╕реНрд╡рд░реВрдкрдг рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, AddHeader рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрджрд▓реЗрдВ:









Sub AddHeader(Ty As Integer , Name As String )

Sheets( "result" ).Range( "A" + CStr(CurRow) + ":C" + CStr(CurRow)).Merge

'

' With

With GetCellS( "result" , 0, CurRow)

.Value = Name

.Font.Italic = True

.Font.Name = "Cambria"

Select Case Ty

Case 1 '

.Font.Bold = True

.Font.Size = 16

Case 2 '

.Font.Size = 12

End Select

.HorizontalAlignment = xlCenter

End With

CurRow = CurRow + 1

End Sub












рдкрд╣рд▓реЗ рд╕реЗ рдмреЗрд╣рддрд░:

















рдпрд╣ рдХреЗрд╡рд▓ рд╕реАрдорд╛рдПрдБ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдХрдХреНрд╖реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕реАрдорд╛ рд╣реЛрдЧреА:

















рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕реАрдорд╛ рд╢реИрд▓реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рддреЗ рд╣реИрдВ:









Sub AddHeader(Ty As Integer , Name As String )

With Sheets( "result" ).Range( "A" + CStr(CurRow) + ":C" + CStr(CurRow))

.Merge

.Value = Name

.Font.Italic = True

.Font.Name = "Cambria"

.HorizontalAlignment = xlCenter



Select Case Ty

Case 1 '

.Font.Bold = True

.Font.Size = 16

.Borders(xlTop).Weight = xlThick

Case 2 '

.Font.Size = 12

.Borders(xlTop).Weight = xlMedium

End Select

.Borders(xlBottom).Weight = xlMedium ' : xlThick, xlMedium, xlThin, xlHairline

End With

CurRow = CurRow + 1

End Sub




















рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рд╕рдореВрд╣ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдЖрд╕рд╛рди рд╣реИ:













FormatPrice рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ


Dim I As Integer ' data

CurRow = 0 '

Dim Groups(1 To GroupsCount) As String












рд╣реЗрдбрд┐рдВрдЧ рд▓реВрдк рдореЗрдВ


If Groups(I2) <> PrGroups(I2) Then

CurRow = CurRow + 1

Dim I3 As Integer
















рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдЬреЛ рд╡реЗ рдЪрд╛рд╣рддреЗ рдереЗред









рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдиреЗ рдЖрдкрдХреЛ VBA рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдереЛрдбрд╝рд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдорджрдж рдХреА рд╣реИред рд╣реЛрдорд╡рд░реНрдХ - рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╢реАрд░реНрд╖рдХ " рдЖрдИрдбреА, рд╢реАрд░реНрд╖рдХ, рдореВрд▓реНрдп " рдЬреЛрдбрд╝реЗрдВред рд╕рдВрдХреЗрдд: CurRow = 0 CurRow = 1 ред









рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдБ (min.us) рдпрд╛ рдпрд╣рд╛рдБ (рдбреНрд░реЙрдкрдмреЙрдХреНрд╕) рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдореИрдХреНрд░реЛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВред рдпрджрд┐ рдХреЛрдИ рдорд╛рдирд╡ рдлрд╝рд╛рдЗрд▓ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЙрд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░реВрдБрдЧрд╛ред









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







рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред







UPD: рдореИрдВрдиреЗ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдФрд░ min.us рдкрд░ рдЙрджрд╛рд╣рд░рдг рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ред







UPD2: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмреБрд▓рд╛рддреЗ рд╕рдордп, рдХреЛрд╖реНрдардХ рд▓рдЧрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рдХреЙрд▓ рдлреВ рдирд┐рд░реНрдорд╛рдг ("рдмрд╛рд░", 1, 2, 3) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╣рд╛рдВ рдХреЛрд╖реНрдардХ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рд╣реИрдВред








All Articles