Sub Cng_List(par As Boolean)
If par Then 'Активное Sheet1.ListBox1.ForeColor = &H80000007 Sheet1.ListBox1.Enabled = True Else 'Неактивное Sheet1.ListBox1.ForeColor = &H80000013 Sheet1.ListBox1.Enabled = False End If End Sub ListBox1 – элемент управления, префикс lst (При именовании элементов управления рекомендуется следовать стандартным соглашениям именования пользовательского интерфейса и элементов управления. Это позволяет упростить чтение и отладку программного кода. В именах элементов управления удобно проставлять префикс, однозначно указывающий на тип (класс) этого объекта.) Sub Init() Cng_List (False) n = 0 For i = 1 To m For j = 1 To m A(i, j) = 0 Next j Next i Sheet2.Visible = xlSheetHidden Sheet3.Visible = xlSheetHidden End Sub Sub InitS() For i = 1 To m + 2 For j = 1 To m ActiveSheet.Cells(i + 2, j) = "" Next j Next i End Sub Sub Button3_Click() ' ОК n = Sheet2.Range("R2") Open "C:\file1" For Output As #1 Write #1, n For i = 1 To n For j = 1 To n If Sheet2.Cells(i + 3, j) = "" Then A(i, j) = 0 Else A(i, j) = Sheet2.Cells(i + 3, j) End If Write #1, A(i, j) Next j Next i Close #1 MsgBox ("Матрица A записана в файл file1") Call InitS Sheet2.Visible = xlSheetVisible Sheet1.Activate Call Init End Sub Sub Button4_Click() ' Отмена Sheet2.Visible = xlSheetVisible Call InitS Sheet1.Activate Call Init End Sub Sub Button5_Click() Call InitS Sheet3.Visible = xlSheetVisible Sheet1.Activate Call Init End Sub Sub OutA() ' Вывод результата на экран For i = 1 To n For j = 1 To n Sheet4.Cells(i + 3, j) = A(i, j) Next j Next i MsgBox End Sub Sub getA() ' ввод матрицы из файла For i = 1 To n For j = 1 To n If Sheet3.Visible = xlSheetHidden Then MsgBox ("Введите матрицу А из файла") Else If Sheet3.Cells(i + 3, j) = "" Then A(i, j) = 0 ' заполнение матрицы с клавиатуры Else A(i, j) = Sheet3.Cells(i + 3, j) End If End If Next j Next i End Sub Создание кнопок ОК, ОТМЕНА, заполнение матрицы в файл, а также вывод результатов на экран. И, наконец, с помощью функции rab, мы проделываем все виды обработки. Sub rab1(n As Variant) Call getA Sheet4.Activate Call InitS Sheet4.Range("H3") = "Среднее значение элементов по строкам"
Sheet4.Range("G4") = "Строка" Sheet4.Range("I4") = "Xcp" For i = 1 To n s = 0 Sheet4.Cells(i + 4, 7) = i For j = 1 To n s = s + A(i, j) Next j s = s / n Sheet4.Cells(i + 4, 9) = s Next i End Sub Sub rab2(n As Variant) Call getA Sheet4.Activate Call InitS Sheet4.Range("H3") = "Среднее значение элементов по столбцу" Sheet4.Range("G4") = "Столбец" Sheet4.Range("I4") = "Xcp" For j = 1 To n s = 0 Sheet4.Cells(j + 4, 7) = j For i = 1 To n s = s + A(i, j) Next i s = s / n Sheet4.Cells(j + 4, 9) = s Next j End Sub Sub rab3(n As Variant) Call getA Sheet4.Activate Call InitS Sheet4.Range("H3") = " Min элементы в строках" Sheet4.Range("G4") = "Строка" Sheet4.Range("I4") = "Min" For i = 1 To n x = A(i, 1) 'min Sheet4.Cells(i + 4, 7) = i For j = 2 To n If x > A(i, j) Then x = A(i, j) End If Next j Sheet4.Cells(i + 4, 9) = x Next i End Sub Sub rab4(n As Variant) Call getA Sheet4.Activate Call InitS Sheet4.Range("H3") = "Min элементы по столбцам" Sheet4.Range("G4") = "Столбец" Sheet4.Range("I4") = "Min" For j = 1 To n x = A(1, j) 'min Sheet4.Cells(j + 4, 7) = j For i = 2 To n If x > A(i, j) Then x = A(i, j) End If Next i Sheet4.Cells(j + 4, 9) = x Next j End Sub Sub rab5(n As Variant) Call getA Sheet4.Activate Call InitS Sheet4.Range("H3") = "Max элементы по строкам" Sheet4.Range("G4") = "Строка" Sheet4.Range("H4") = "Max" For i = 1 To n s = A(i, 1) 'max Sheet4.Cells(i + 4, 7) = i For j = 2 To n If s < A(i, j) Then s = A(i, j) End If Next j Sheet4.Cells(i + 4, 9) = s Next i End Sub Sub rab6(n As Variant) Call getA Sheet4.Activate Call InitS Sheet4.Range("H3") = "Max элементы по столбцам" Sheet4.Range("G4") = "Столбец" Sheet4.Range("H4") = "Max" For j = 1 To n s = A(1, j) 'max Sheet4.Cells(j + 4, 7) = j For i = 2 To n If s < A(i, j) Then s = A(i, j) End If Next i Sheet4.Cells(j + 4, 9) = s Next j End Sub Список использованной литературы · А.Васильев, А.Андреев. VBA в Office 2000. Учебный курс. С-Пб.: "Питер", 2001 · Биллиг В.А. Средства разработки VBA-программиста. Офисное программирование. Том 1. М.: Издательско-торговый дом "Русская Редакция", 2001. · Биллиг В.А. Мир объектов Excel 2000. М.: Издательско-торговый дом "Русская Редакция", 2001. · В.И.Король. Visual Basic 6.0, Visual Basic for Applications 6.0. Язык программирования. Справочник с примерами. М.: Издательство КУДИЦ, 2000.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|