Sub Makro3() ' ' Makro3 Makro ' Makro zarejestrowane 2004-04-21, autor xx ' ' Klawisz skrótu: Ctrl+Shift+Z ' 'makro wykonuje iloczyn kroneckera 'zadanej macierzy kwadratowej razy macierz jednostkowa zadanego stopnia 'czyli Z = A kron I 'makro nie jest funkcją; generuje odpowienią strukturę w arkuszu. 'UWAGA!! NINIEJSZE MAKRO NIEODWRACALNIE KASUJE ZAKRES WYJŚCIOWY 'dane wejściowe: 'adres komórki w której zaczyna się macierz A w układzie 'numer wiersza: source_row = 105 'numer kolumny source_col = 16 'wymiar macierzy A (zakladamy, ze jest ona kwadratowa wiec to 1 liczba number_of_rows_A = 5 'adres komórki w której ma zaczynać się macierz Z w układzie 'numer wiersza: target_row = 2 'numer kolumny target_col = 26 'stopień macierzy jednostkowej number_of_rows_ident = 20 'zerowanie zakresu wyjściowego: ActiveSheet.Range(Cells(target_row, target_col), Cells(-1 + target_row + number_of_rows_ident * number_of_rows_A, -1 + target_col + number_of_rows_ident * number_of_rows_A)).FormulaArray = "0" 'zapisywanie zakresu wyjściowego For ii = 0 To Int(number_of_rows_A - 1) For jj = 0 To Int(number_of_rows_A - 1) ActiveSheet.Cells(ii + source_row, jj + source_col).Copy For hh = 0 To Int(number_of_rows_ident - 1) ActiveSheet.Cells(target_row + ii * number_of_rows_ident + hh, target_col + jj * number_of_rows_ident + hh).Select ActiveSheet.Paste Link:=True Next hh Next jj Next ii End Sub