���������

  • ������� �����

    ���� �����-������ � ���� ������ ����� �����-������, ������� ����� ��������� ������� ������ � ��������� Microsoft Word.



    ��� �����
  • ������ ���������������� �� ����� VBA
    ����������: 34 798 |
    ����������� (0)
    17 ������� 2011 |

    ������� ���������� ��������� �� ����� VBA – �������, ����� �������� �� ���������� ������, � ����������� �� ��������� ����������. ���� ���������� �������� ���������, ������� ����� ����������� ������������  ���������� ��� ��������, ����������� �������������� ����������� ������������ ���������� Microsoft Office, �� ���������� ������� ����������� ������. ��� ���������� ���� ��������� ����� ��������� � ������� ������� ���������� ������, ������� ������� ����� �������� ���������� ���������. ��� ����� � ���������� ���������� �������� ������ ������������ � ������� ������� ��� ������ ������������  �������� ����������, � ����� ������� ������ � ��������������� ����������� �����.  ���� ��������� ��������� � ������� ������� ������ ������ �������.

     

    ���������� “�����������” ��������� (��� ���������� ������� ��������� ��������� ����, � ���������� ���������� ����������) ����� �������� ��� �����. ������ ���� – ���� ����������� ����������������, �� ������� ��������� ���� (�����) ���������, ��� ������������� ����������� �������� ����������. ������ – ���� ����������������, �� ������� ��������� ����� ��������� (���������), ������������� � ����� �� ������������ �������. �������� ��������, ��������, ������ ����� ������� ���� �� ��������� ������ (������� Click), ������� ������� �� ���������� (������� KeyPress) � �.�. ������������ ����� ���������� ����� �������� ������ – «������ �������».

     

    2.1. �������, �������� � ������ VBA

    ����� �� �������� ������� VBA �������� ������. ������ – ��� ��, ��� �� ���������� � ������� ��������� �� ����� VBA, ��������, �����, ������, ������� ���� ��� �������� ����� MS Excel. ������ ������ �������� ���������� ����������. ��������, ����� ����� ���� ������� ��� ���������  � ������ ������ �� ������. ������ ������ �������� ������� – ����� ��� ����������� ���������� � ������ (�������) �������� �����.

    ������ �������� ����� ������ �������, ������� � ���� ���������. ������ – ��� ��, ��� �� ������ ������ � ��������. ��������, �������� ����� �� ������ ��� ������ � ����� � ������� ������� Show � Hide.

    ����� �������, ������ – ��� ����������� �������, ������� ����� ���� ����������� �� ������, �������� ��������� ����������, ������������ ��� ��������, � ��������� ������ ��� ���������� ��������. ��������, � MS Excel ������� ����� ���������� ��������:

     

    Range(“�����”)

    - �������� ����� (����� �������� ������ ���� ������).

    Cells(i, j)

    - ������, ����������� �� ����������� i-� ������ � j-�� ������� �������� ����� MS Excel (i � j – ����� �����).

    Rows(� ������)

    - ������ � �������� �������.

    Columns(� �������)

    - ������� � �������� �������

    Sheets(“���”)

    - ���� � ��������� ������.

    Sheets(� �����)

    - ���� � ��������� �������.

    WorkSheet 

    - ������� ����.

    ��������� �������� ������� – ��� ���� �� �������� ���������� ���������. ��������� ��������� �������� �������� ������� ���������:

    ������. �������� = ���������

    �������� ��������� �������� CellsRange, �������� Value (��������), �������, ������, ����� �� ���������. ��������:

    Range(“A5:A10”). Value = 0  ���  Range(“A5:A10”) = 0 – � �������� ����� A5:A10 ��������� �������� 0.

    Cells(2, 4). Value  = n   ���  Cells(2, 4) = n – � ������, ����������� �� ����������� 2-� ������ � 4-�� ������� (������ � ������� “D2”), ��������� �������� ���������� n.

    ��������� ������ ������� ������� ���������:

    ���������� = ������. ��������

    ��������:

    Xn = Cells(1, 2).Value  ��� Xn = Range(“B1”).Value – ���������� Xn ������������� ��������  �� ������ B1 �������� �������� �����.

    ��������� ���������� ������� � �������:

    ������. �����

    ��������:

    Sheets(2).Activate������� �������� ���� � �2.

    Sheets(“���������”).Delete������� ���� � ������ “���������”.

    Range("A5:A10").Clear – �������� �������� ����� A5:A10.

    Range("A2:B10").Select –  �������� �������� ����� A2:B10.

    � MS Excel ������� �������, ������� �������� ������ �������. ��������, ������� ����� �������� ������� �����, ������� ���� �������� �������� ����� � �.�. �������� ������ �������� ������ �������� Application (����������). ���� �� ��������� ��� �������� ���  ��������� ��� ������, �� ��������� ����������� � ������� ������ MS Excel. ��������:

    Application.Quit -  ���������� ������ � Excel.

    �������, ��� ����� ����� ����� �������  ����� �������������� ��� �������� �� ������ ������� � �������. ��������, ��������� ��������� ������� ������ ������ �������� ����� ��� � ������� ����� �����:

    Application.Workbooks("�����").Worksheets("���").Rows(2).Delete

    ����� �������� ���������:

    • ����� �� ������ ��� ������� Application, ��� ��� ��� ��������������� �� ���������.
    • ��� ������ � ����������� ��� ����������������� ������� ��� ������������� ��������� ���������� ��� ������.
    • VBA ���������� ��������� �������� � ������, ������� ���������� ������ � �������� ��� ��������� (��� ��������� ������ ��������� ������ ������). ������� ����� �������: ActiveCell (�������� ������), ActiveSheet (�������� ����), ActiveWorkBook (�������� ������� �����). ���, ���������� �������� �������� ������ ����� ��������� �������:

    ActiveCell.Value = " ��".


    2.2. �������� ������

    ��� �������, �������� ��������� ���� ���������������� V��, ��������� � ������������� ����.

    ��� ������ ����������:

    –       ������� ��������� �������� ����������;

    –       ��������� ����������� ������;

    –       ��������, ������������ ��� ������� ����� ����.

    ���� ������ �������������� �� ������� (���������) � ������� (�����������������). � ������� ����� ������ ��������� �������� ������ ����� � ��������. ������� �� ���� ����� ���������, � ������� ������ ��������� ������� ���� ������. ��������� ���� ������ ������������ � ������� 2.1.

     

    ������� 2.1.  ��������� ���� VBA

    ��� ����

    �������
    �������� ����

    ��������� ��������

    Boolean

    ����������

    True, False

    Byte

    ��������

    0…255

    Integer

    �����

    -32768…+32767

    Long

    ������� �����

    -2147483648…+2147483647

    Single

    ����� � ��������� ������

    -3,4�38…-1,4�-45 ��� ������������� ��������. 1,4�-45…3,4�38 ��� ������������� ��������.

    Double

    ����� � ��������� ������ ������� ��������

    -1,7�308…-4,9�-324 ��� ������������� ��������. 4,9�-324…1,7�308 ��� ������������� ��������.

    Currency

    ��������

    ���������� ����� � ������������� �������� �������. �������� 15 ���� �� ������� � 4 �����.

    String

    ���������

    ���� ��� ���� �����: ������ ������������� ����� (�� 216 ��������) � ������ ���������� ����� (�� 231 ��������). ������ ������������ � ��������.

    Date

    ����

    ���� ���������� � ��������� �� 1.01.100�. �� 31.12.9999�.

    Object

    ������

    ������ �� ������ (���������)

    Variant

    �������

    ������������� ���, ��������� �������� ����� ���� ������ ������ �� ������������� ���� �����, �������, �������� NULL � �������� ������ ERROR.

    ���������� � ��������� ����� ��������� ��� �� ���������. � ��������� ������ �� ����� �������� ��� Variant. ���� ��������� ���������� ����� ��� � ������ �����, ��� � � ����� �����, ��� �������� ������������� ������������ ����� ����������. ����� ��� ���������� ��������� ���� �, ��� �������, � ������ �����. ��� ������� ������������� ����������, ������� �� ���� ������� ����, � ������ ��������� ���������� �������� ��������            Option Explicit.

    2.2.1. ��������  �������  ����������

    �������� ������� ���������� ����� ��������� ���������:

    Dim  ���_����������  As  ���_����

    ����� ���������� Dim ����� ������� ������������ ����� ����������, �� ����������� �s ������ ���� ������� ��� ������ �� ���, ����� ���������� ��� �s ����� �������� ��� Variant.

    ��������.  

    Dim X As Byte, Z As Integer, , C���� As String

    ����� ����������  - ��� ���������� ��������� ����, ���������� Z - ������ ����, ���������� - ���� ������� (�� ���������), ���������� ����� - ���������� ����.

     

    2.2.2. ��������  ��������

    ������, �� ������������ ������ ��������� ����� ������� �����������. �� ����� ������� ��������� �������:

           Const ���_��������� As ���_����=����������_���������

    ��������.

     Const Pi As Double = 3.141593

    2.2.3. �������� ��������

    ��� �������� ��������, ������ � �.�. ����� ������������ �������.

    ������ - ��� ����������������� ��� ������, ������� ������������ ����� ������������������ ����� ������, ������� ����� ��� � �������� ������ ������ ����. ������ ������� ������� ������������ �������� (�������). ���������� ��������� � ������� ���������� ������������ �������. ������ ����������� ��������� ������������:

    Dim ���_�������(������_������������) As ���_����

    � ������ ������������ ������� ������ ��������� ���������� ������� � ������������ �������� ������ � ������� ������ ��������� ��������.

    ��������.  

    Dim X(1 TO 5) As Integer, Y(1 To 10, 1 To 20) As Double

    ����� - ���������� ������, ��������� �� 5 ��������� ������ ����, Y - ��������� ������, � �������� 10 ����� � 20 �������� � ���������� ��������� ���� ������� ��������.

    2.3. ��������� 

    ��������� ������������� ������� ���������� �������� ��� ���������� ������. ��������� ������� �� ��������� � ������ ��������. ���������� �������� ���������, ����������, ��������� �������, ���������, ������ � ������.

    2.3.1. ���� ��������

    �������� ������ ��������������, ��������� � ����������:

    –       �������������� ��������: 
    ^            ���������� � �������,
    *            ���������,
    /             �������,
    \             ������� ������,
    mod       ������� �� �������,
    +                     ����,
    -             �����;

    –       �������� ���������
    <             ������, 
    >             ������, 
    <=          ������ ��� �����,
    >=          ������ ��� �����,
    =             �����,
    <>          �� �����;

    –       ���������� ��������: 
    Not         ���������� ���������,
    And        ���������� "�",
    Or           ���������� "���".

    ����������� ���������� �������� ����� ���� ���� �� ���� ��������:
    True ("������") ��� False ("����").

     

    2.3.2. ��������� ���������� ��������

    ���� ��������� �������� ��������� ��������, �� ��������� �� ���������� ���������:

    1.     ������� ����������� �������������� �������� � ����� �������, ��� ��� ������������ � ������� 2.2.

    ������� 2.2.  ��������� �������������� ��������

    �������� ��������

    ����������� � V��

    ������� ����� (��������� �����)

     - (� ������ ���������)

    ���������� � �������

     ^

    ��������� � �������

     *, /

    ������� ������ � ������� �� �������

     \, Mod

    �������� � ���������

     +, -

    2.     ����� �������� ��������� (��� ����� ���������� ���������).

    3.     ���������� ����������� ���������� �������� � ����� �������, ��� ��� ������������ � ������� 2.3.

    ������� 2.3.   ��������� ���������� ��������

    �������� ��������

    ����������� � V��

    ���������� ���������

     Not

    ���������� "�"

     And

    ���������� "���"

     Or

     

    ���� ��������� �������� ��������� �������� ����������� ����������, �� ������� �� ���������� ����� �������. ����� �������� ������� �������� � ��������� ������������ ������� ������.

    ��������� ������ ��������������, ��������� � ����������.

    �������������� ��������� ������������ � ������� ��������� �������� ����� � �������������� ��������, � ����������� �������� �������� ��������. � �������������� ��������� ����� ������������ ����������� �������������� �������, ������� ��������� � ������� 2.4.

     

    ������� 2.4.  ����������� �������������� ������� VBA

    �������������� ������

    ��� ������� � VBA

    ��������

    ½�½

    Abs(�����)

    ���������� ��������, ��� �������� ��������� � ����� ����������� ���������, ������ ����������� �������� ���������� �����.

    arctg X

    Atn(�����)

    ���������� �������� ���� Double, ���������� ���������� �����.

    cos X

    Cos(�����)

    ���������� �������� ���� Double, ���������� ������� ����.

    ]X[

    Int(�����)

    ���������� �������� ����, ������������ � ����� ���������, ������� �������� ����� ����� �����.

    ln X

    Log(�����)

    ���������� �������� ���� Double, ���������� ����������� �������� �����.

    eX

    Exp(�����)

    ���������� �������� ���� Double, ���������� ��������� ���������� ����� e (��������� ����������� ����������) � ��������� �������.

    Sign X

    Sgn(�����)

    ���������� �������� ���� Variant (Integer), ��������������� ����� ���������� �����.

    sin X

    Sin(�����)

    ���������� �������� ���� Double, ���������� ����� ����.

     

    Sqr(�����)

    ���������� �������� ���� Double, ���������� ���������� ������ ���������� �����.

    tg X

    Tan(�����)

    ���������� �������� ���� Double, ���������� ������� ����.

     

    ��������� ��������� ���������� ���������� ��� �������� ���������� ��� ��������� ���� ���������. ���������� ����� ������ ������ ����������� ����. ��������� �������� ��������� ������ ����������: True - "������" ��� False - "����".

    ���������� ���������. ����������� ����������� ��������� �������� ���������� �������� True ��� False. ����������� ������ ���������� ��������� ��������: ���������� ���������, ���������� ����������, ����������  �������,  ���������  ���������. ���������� ��������  ����������� ������ ��� ���������� ����������� ����.

    ������. �������� 1£�£5 � ���������� �������� ��������� ��� �=3.1

    ��������� � V�� ����� ��������� ���:

    X>=1  And  X<=5


    ����������� ��������� �����  True.

    ����� �������� �������� ���� �������������� �������, ���������� ������� ��� ����� ��������� �������������� ������� (��������, SIN), � ����� ������ ������� F1 � ���� �������� ��������� ������� ������� ������ ��      �������������� �������. � ���������� ������� ����� �������� ������� � ���������� ����� �� ���������� �������������� ������� � �� ���������.

    ����� �������� �������� ���� ����������� �������������� ������� � ������� �� ������������, ���������� ������� ��� ����� ��������� �������������� ������� (��������, SIN), � ����� ������ ������� F1 � ���� �������� ��������� ������� ������� ������ �� ����������� �������������� �������.

    ����, � ������� 2.5, �������� ������ �������, ������� ����� ���� �������� � ������� ���������� �������������� �������.

     

     

    ������� 2.5.  ����������� �������������� �������

    �������������� ������

    �������� �������

    ���������� ���������� �������

    sc X

    ������

    1/Cos(X)

    csc X

    ��������

    1/Sin(X)

    ctg X

    ���������

    1/Tan(X)

    arcsin X

    ��������

    Atn(X/Sqr(-X*X+1))

    arccos X

    ����������

    Atn(-X/Sqr(-X*X+1))+2*Atn(1)

    arcsc X

    ���������

    Atn(X/Sqr(X*X-1))+Sgn((X)-1)*2*Atn(1)

    arccsc X

    �����������

    Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*2*Atn(1)

    arcctg X

    ������������

    Atn(X)+2*Atn(1)

    sh X

    ��������������� �����

    (Exp(X)-Exp(-X))/2

    ch X

    ��������������� �������

    (Exp(X)+Exp(-X))/2

    th X

    ��������������� �������

    (Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))

    sch X

    ��������������� ������

    2/(Exp(X)+Exp(-X))

    csch X

    ��������������� ��������

    2/(Exp(X)-Exp(-X))

    �th X

    ��������������� ���������

    (Exp(X)+Exp(-X))/(Exp(X)-Exp(-X))

    arsh X

    ��������������� ��������

    Log(X+Sqr(X*X+1))

    arch X

    ��������������� ����������

    Log(X+Sqr(X*X-1))

    arth X

    ��������������� ����������

    Log((1+X)/(1-X))/2

    arsch X

    ��������������� ���������

    Log((Sqr(-X*X+1)+1)/X)

    arcsch X

    ��������������� �����������

    Log((Sgn(X)*Sqr(X*X+1)+1)/X)

    arcth X

    ��������������� ������������

    Log((X+1)/(X-1))/2

    lognX

    �������� �� ��������� N

    Log(X)/Log(N)



    ��������� �����



    ������ ������� �� ����:

      ������ �����
      ���������

      ����� �� �������� ������ �����������, �� �������� �����? ���� ��������, ��� ��������� �� ���������� �������� �������� ������. � ���� ��� ��� �� �������, �� ����� ����������� ��������� ���� �������, ������ ����������� ����� ��������.



      ��������-���������� – ������ ��� ���������� ��������, � ����� ��������� ���������� ���� �������������� �������� � ���� ��������. � ���� �������� ��������� ������, ����, ����� �����, ������������, � ����� ����������� ����������.



      �� ����������� ���� ����������� ������ ��������, ����������� ��� ����� ����� ���� ������������� ���� � ����, ��� ��������� ������������ ��������� �������� ����� ��������. ����������, ��� ����������� ���������������� ������ �������, �� ������ ���� ����������� ����������� ����������, �������� ���������� ��������� �������� � �����������. �������������� ���������� ������ ����� ���� ������� ����������� ���������.



      �� ������ ���������� ��������� ��������� �������� �������� �� �������� ����������� ����� ������� ����� � ����, � ��� �� ������ ������� ����������� �� ������������� ������. ���� ����� ������ � ����, ������, ���� �� ������� �������, ������� ��� ������ �� �� �����, � �� ����, ������ ���� ���������� �������� �������, ���� ��� �������� ���������. �� ������������� ������ ������������ ���� ����������� � ����� ���� ������������ ������� ��������� �����, � ���� ����� ���������� ������, ������ � �������.



      ����� �������� �������� �������� �����, ������� ��������� ����� ������ ����� � ������������ �����. �� ������ ���� ���� � ����� ��������� ������ ������. � �����, ��� �� ������ ����� �������� �����. ��� ������ �������� ������� ��������. ��������� ������ ��� - �� �� �� ���� ����, �� ����� � ����� �� ������� ����� ����� ������,