Cancel przycisk w VBA

0

Jak sprawdzić, czy użytkownik nie wcisnął "Cancel" gdy program poprosił zaznaczyć macierz, i jeżeli tak, to program to wyprowadza.


Public Sub Sub1()

Dim matrix() As Double
Dim M As Range, i As Integer, j As Integer

Set M = Application.InputBox("Wybierz macierz nxn ", , , , , , , 8)

liczbawierszy = M.Rows.Count
liczbaslupkow = M.Columns.Count

ReDim matrix(1 To eil, 1 To stulp) As Double
For i = 1 To liczbawierszy
    For j = 1 To liczbaslupkow
        matrix(i, j) = M.Cells(i, j).Value
    Next j
Next i
0

Skoro ostatni parametr (Type) podałeś 8, to MUSI podać Range, inaczej VBA zasygnalizuje błąd. Cancel też jest błędem. Trzeba go obsłużyć. Czyli umieścić w

On Error Resume Next
Set M = Application.InputBox("Wybierz macierz nxn ", , , , , , , 8)
If Err.Number<>0 Then
...
end if
On Error Goto 0

1 użytkowników online, w tym zalogowanych: 0, gości: 1