Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡ„ΠΈΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 27

Автор Π˜Ρ€ΠΈΠ½Π° Π€Ρ€ΠΈΠ·Π΅Π½

i = 1

Do

'Π—Π°ΠΌΠ΅Π½Π° Π² Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ… Π½Π° ссылку $A1

If Mid(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, i, 1) = Β«xΒ» Or Mid(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, i, 1) = Β«XΒ» Then

n = Len(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°)

If (1 < i) And (i < n) Then

Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ° = Left(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, i – 1) & Β«$A1Β» & Right(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, n – i)

End If

If i = 1 Then

Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ° = Β«$A1Β» & Right(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, n – 1)

End If

If i = n Then

Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ° = Left(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, n – 1) & Β«$A1Β»

End If

End If

i = i + 1

Loop While i <= Len(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°)

ActiveSheet.Cells.Select

Selection.Clear

'ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС Ρ€Π°Π½Π΅Π΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

ActiveSheet.Range(Β«A1Β»).Select

'Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² значСниями Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°

With ActiveSheet

Range(Β«A1Β»).Value = Ρ…_Π½Π· 'Π’Π²ΠΎΠ΄ Π² ячСйку A1 Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния

'Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ арифмСтичСской прогрСссии ΠΏΠΎ столбцу с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ шагом ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ

Range(Β«A1Β»).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=Ρ…_шаг, Stop:=Ρ…_ΠΏΠ·, Trend:=False

End With

'Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° значСниями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

With ActiveSheet

nx = Range(Β«A1Β»).CurrentRegion.Rows.Count

'ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ числа строк Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ заполнСния

Range(Β«B1Β»).FormulaLocal = Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°

'Π’Π²ΠΎΠ΄ уравнСния повСрхности Π² ячСйку B1

If IsError(Evaluate(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°)) = True Then

MsgBox «Ошибка Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅Β», vbExclamation, Β«Π“Ρ€Π°Ρ„ΠΈΠΊΒ»

Exit Sub

End If

'Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Range(Cells(1, 2), Cells(nx, 2))

'начиная с ячСйки B1, Ρ‡Ρ‚ΠΎ эквивалСнтно ΠΏΡ€ΠΎΡ‚Π°ΡΠΊΠΈΠ²Π°Π½ΠΈΡŽ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°

'заполнСния ячСйки B1 Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Range(Cells(1, 2),

Cells(nx, 2))

Range(Β«B1Β»).AutoFill Destination:=Range(Cells(1, 2), Cells(nx, 2)), Type:=xlFillDefault

End With

ActiveSheet.ChartObjects.Delete

'Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа всСх Ρ€Π°Π½Π΅Π΅ построСнных Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ

ActiveSheet.Range(Cells(1, 2), Cells(nx, 2)).Select

'Π’Ρ‹Π±ΠΎΡ€ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ строится Π³Ρ€Π°Ρ„ΠΈΠΊ

ActiveSheet.ChartObjects.Add(20, 19.5, 192, 192).Select

'Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π±ΠΎΡ€ области Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ построСн Π³Ρ€Π°Ρ„ΠΈΠΊ,

'Ρ€Π°Π·ΠΌΠ΅Ρ€ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Image1

Application.CutCopyMode = False

'ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

ActiveChart.ChartWizard Source:=Range(Cells(1, 1), Cells(nx, 2)), Gallery:=xlLine, Format:=2, PlotBy:=xlColumns, CategoryLabels:=1, SeriesLabels:=0, HasLegend:=False, Title:="Π“Ρ€Π°Ρ„ΠΈΠΊ",

CategoryTitle:="АргумСнт", ValueTitle:="Ѐункция y" & TextBox1.Text

ActiveSheet.ChartObjects(1).Activate

ActiveChart.Axes(xlValue).AxisTitle.Select

With Selection

HorizontalAlignment = xlCenter

VerticalAlignment = xlCenter

Orientation = xlUpward

End With

'Π—Π°ΠΏΠΈΡΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ„Π°ΠΉΠ» ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² Imagel

ActiveChart.Export Filename:="Graph.jpg",

FilterName:="JPEG"

UserForm1.Image1.Picture = LoadPicture(Β«graph.jpgΒ»)

ActiveSheet.Range(Β«A1Β»).Select

End Sub

Private Sub CommandButton2 Click()

'ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

UserForm1.Hide

End Sub

Private Sub UserForm Initialize()

'Рисунок ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²

Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ помСщался Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Imagel

With Imagel

PictureAlignment = fmPictureAlignmentTopLeft

PictureSizeMode = fmPictureSizeModeStretch

End With

End Sub

8.2. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΊΡ€ΡƒΠ³ΠΎΠ²Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΈ гистограмм

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 55. Π’ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Β» (рис. 104) вводятся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ значСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΅Π³ΠΎ шаг измСнСния. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ТСстко Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сама ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² ссылку Π½Π° ячСйку. ПослС табуляции Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ построСния повСрхности Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС этот Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ‚Π°ΠΊΠΆΠ΅ отобраТаСтся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ управлСния image, располоТСнном Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (рис. 106, 107).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 56. Π’ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Β» (рис. 108) вводятся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ значСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΅Π³ΠΎ шаг измСнСния. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° вводится Π² тСкстовоС ΠΎΠΊΠ½ΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сама ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² ссылку Π½Π° ячСйку. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ΡΡ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΡ€ΠΈ построСнии Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ПослС табуляции Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ построСния повСрхности Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС этот Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ‚Π°ΠΊΠΆΠ΅ отобраТаСтся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ управлСния image, располоТСнном Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (рис. 108, 109, 110).


Рис. 106. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρƒ=cos(x)


Рис. 107. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρƒ=sin(x)


Рис. 108. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°


Рис. 109. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ гистограммы


Рис. 110. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

Π“Π»Π°Π²Π° 9

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Excel

9.1. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΡ€ΠΎΠΌΠ΅ рассмотрСнных Ρ€Π°Π½Π΅Π΅ элСмСнтов управлСния, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт «полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈΒ» ΠΈ «счСтчик». Рассмотрим эти элСмСнты.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния ScrollBar

(полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ) ΠΈ элСмСнт управлСния SpinButton

(счСтчик) ΠΏΠΎ своим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ возмоТностям Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ свойства ΠΈΡ… рассматриваСм совмСстно.

Value – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа);

Min – минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа);

Max – максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа);

SmallChange – устанавливаСт шаг измСнСния значСния ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· стрСлок полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ;

Enabled – допустимыС значСния: True (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ полосы) ΠΈ False (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС);

Visible – допустимыС значСния: True (полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ отобраТаСтся Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) ΠΈ False (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС).

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ячССк листа. Данная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° AddComment ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Range. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

AddComment (Text),

Π³Π΄Π΅ Text – тСкст коммСнтария.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 57.[7] Для заполнСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ РСгистрация ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² (рис. 111).

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° вводятся Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ (Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π°Π·Ρ‹), Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС Excel (рис. 112). НаТатиС ΠΊΠ½ΠΎΠΏΠΊΠΈ ОК Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ добавлСнию Π½ΠΎΠ²ΠΎΠΉ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.


Рис. 111. Π’ΠΈΠ΄ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 57


Рис. 112. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ туристах Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС


ВСхнология выполнСния

ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ привСдСнная Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ пСрСчислСнныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ‡Ρ‚ΠΎ происходит Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

UserForm_Initialize

1. ΠΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

2. ΠΠ°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ клавишС <Esc> Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠžΡ‚ΠΌΠ΅Π½Π°, Π° клавишС <Enter> β€“ Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ.

3. ΠΠ°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки.

4. Π—акрСпляСт ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° всСгда ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»Π°ΡΡŒ Π½Π° экранС.

5. Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ссли ΠΎΠ½ΠΈ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ созданы.

6. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ Β«0 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Β».

7. Π—аполняСт Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список.

8. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ тСкст Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° прилоТСния.

CommandButton1_Click

1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠΉ пустой строки Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ рСгистрации туристов, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½Π° новая запись.

2. Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.

3. Π’Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

CommandButton2_Click

1. Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

2. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚. Π΅. удаляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ прилоТСния, созданный ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.

SpinButton1_ Change

Π’Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΡƒΡ€Π°.

Private Sub CommandButton1_Click()

' ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° считывания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

' ΠΈ записи Π΅Π΅ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС

' Бмысл ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈΡ… названиями

Dim Ѐамилия As String * 20

Dim Имя As String * 20

Dim Пол As String * 3

Dim Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠ’ΡƒΡ€ As String * 20

Dim ΠžΠΏΠ»Π°Ρ‡Π΅Π½ΠΎ As String * 3

Dim Π€ΠΎΡ‚ΠΎ As String * 3

Dim ΠŸΠ°ΡΠΏΠΎΡ€Ρ‚ As String * 3

Dim Π‘Ρ€ΠΎΠΊ As String * 3

Dim НомСрБтроки As Integer

'НомСрБтроки – Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠΉ пустой строки Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа НомСрБтроки = Application.CountA(ActiveSheet.Columns(1)) + 1

'Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ With UserForm1

Ѐамилия =.TextBox1.Text

Имя =.TextBox2.Text

Π‘Ρ€ΠΎΠΊ =.TextBox3.Text

Пол = IIf(.OptionButton1.Value, Β«ΠœΡƒΠΆΒ», Β«Π–Π΅Π½Β»)

ΠžΠΏΠ»Π°Ρ‡Π΅Π½ΠΎ = IIf(.CheckBox1.Value, Β«Π”Π°Β», «НСт»)

Π€ΠΎΡ‚ΠΎ = IIf(.CheckBox2.Value, Β«Π”Π°Β», «НСт»)

ΠŸΠ°ΡΠΏΠΎΡ€Ρ‚ = IIf(.CheckBox3.Value, Β«Π”Π°Β», «НСт»)

Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠ’ΡƒΡ€ =.ComboBox1.List(.ComboBox1.ListIndex, 0)

End With

'Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² строку с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ НомСрБтроки Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

With ActiveSheet

Cells(НомСрБтроки, 1).Value = Ѐамилия

Cells(НомСрБтроки, 2).Value = Имя

Cells(НомСрБтроки, 3).Value = Пол

Cells(НомСрБтроки, 4).Value = Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠ’ΡƒΡ€

Cells(НомСрБтроки, 5).Value = ΠžΠΏΠ»Π°Ρ‡Π΅Π½ΠΎ

Cells(НомСрБтроки, 6).Value = Π€ΠΎΡ‚ΠΎ

Cells(НомСрБтроки, 7).Value = ΠŸΠ°ΡΠΏΠΎΡ€Ρ‚

Cells(НомСрБтроки, 8).Value = Π‘Ρ€ΠΎΠΊ

End With

End Sub

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ для опрСдСлСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ пустой строки Π² заполняСмой Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ туристах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ инструкция

НомСрБтроки = Application.CountA(ActiveSheet.Columns(1)) + 1,

правая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вычисляСт число нСпустых ячССк Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ столбцС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ НомСрБтроки присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ большСС, Ρ‡Π΅ΠΌ число нСпустых строк, Ρ‡Ρ‚ΠΎ СстСствСнно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ присвоСн Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠΉ нСпустой строки Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструкции довольно часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, поэтому слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½ΠΈΡ… Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.