Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
4
КПКО.ПОКС 4705.000
Подпись и дата
Инв. № дубл.
Взам. инв. №
Подпись и дата
Инв. № подл.
Копировал
Формат А4
Лабораторная работа №4
Передача данных из рабочих листов Exel в VBA программу и обратно.
Задание: Дан двумерный массив (mxn) и натуральные числа i,k (1<=i>=m, 1<=k>=n). Из исходного двумерного массива удалить i-ю строку, и k-ый столбец. |
Выполнение:
Sub Êíîïêà1_Ùåë÷îê()
Dim str1, sto, n, k, ch, ch2, mas As Range
Dim mas3 As Range
Dim i, j, ii, jj, mas2(1 To 100, 1 To 100) As Integer
Set str1 = Worksheets("Ëèñò1").Range("B1") считывает количество строк
Set sto = Worksheets("Ëèñò1").Range("B2") 'столбцов
Set n = Worksheets("Ëèñò1").Range("B3") 'рандом от
Set k = Worksheets("Ëèñò1").Range("B4") 'рандом до
Set ch = Worksheets("Ëèñò1").Range("B5") 'строка
Set ch2 = Worksheets("Ëèñò1").Range("B6") 'стобец
Set mas = Worksheets("Ëèñò1").Range("D8:K16") 'присваивает массиву ячейки в которых он будет выводиться
Set mas3 = Worksheets("Ëèñò1").Range("D18:J25")
If str1 >= 1 And str1 <= 8 And sto >= 1 And sto <= 8 Then 'проверяет что бы строки и столбци были не больше 8
If ch >= 1 And ch <= str1 And ch2 >= 1 And ch2 <= sto Then 'проверяет условие
For i = 1 To 8
For j = 1 To 8
mas(i, j) = ""
Next j: Next i
For i = 1 To 8
For j = 1 To 8
mas3(i, j) = ""
Next j: Next i
For i = 1 To str1
For j = 1 To sto
mas(i, j) = Int(Rnd() * (k - n) + 1) 'удаляем строку
Next j
Next i
ii = 0
For i = 1 To str1 'удаляем столбец
If i <> ch Then
ii = ii + 1
For j = 1 To sto
mas2(ii, j) = mas(i, j)
Next j
End If
Next i
ii = 0
For i = 1 To sto
If i <> ch2 Then
ii = ii + 1
For j = 1 To str1 - 1
mas3(j, ii) = mas2(j, i)
Next j
End If
Next i
Else: MsgBox ("введите данные коректно!!!")
End If
Else: MsgBox ("строки и столбци должны быть не больше 8 и не меньше 1")
End If
End Sub