Witam,
Czy ktos moze mi odpowiedziec dlaczego zawsze wywala mi "Lalbel1" czyli kliknales...??? A kiedy usune "On Error GoTo Label1" teoretycznie dziala bez problemu... Ewentualnie prosze o jakies inne rozwiazanie tego problemu... Z gory dzieki...
Pozdrawiam
Sub TransponujMacierz()
Dim zakresA, zakresB As String
Dim macierzA As Range, macierzB As Range
Dim wynik As Variant
Dim wA, kA, wB, kB, i, j As Integer
On Error GoTo Label1
zakresA = Application.InputBox("Wskaż zakres macierzy A :", "Transponowanie macierzy", , , , , , 8).Address()
Set macierzA = Range(zakresA)
wA = macierzA.Rows.Count: kA = macierzA.Columns.Count
Label: zakresB = Application.InputBox("Wskaż pierwsza komorke macierzy B:", "Transponowanie macierzy", , , , , , 8).Address()
wB = Range(zakresB).Row - 1: kB = Range(zakresB).Column - 1
If Range(zakresB).Row + macierzA.Row > 65536 Or Range(zakresB).Column + macierzA.Column > 256 Then
MsgBox "Macierz nie miesci sie we wskazanym zakresie!", , "Błąd"
GoTo Label
End If
wynik = WorksheetFunction.Transpose(macierzA)
For i = 1 To kA
For j = 1 To wA
Cells(wB + i, kB + j).Value = wynik(i, j)
Next j
Next i
Label1: MsgBox "Klilnąłeś 'Anuluj'", , "Błąd"
End Sub |