Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Marco,
caro Norman ho risolto.
Sono uno stupido perché la tua routine lavora su una matrice contigua.
La mia matrice invece ha delle colonne libere e quindi sfalsava il focus.
Con un Select Case ho aggiustato gli indici e ora funziona perfettamente.
Benissimo! Mi fa piacere che tu abbia risolto il problema e ti ringrazio per il cortese riscontro.
A proposito, l'errore potrebbe sembrare stupido, ma non lo è affatto! La gestione degl'intervalli non contigui può essere soggetto a numerose trappole sottili.
Per dimostrare uno dei problemi più evidenti, prova il seguente esempio banale:
'=========>>
Option Explicit
'--------->>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range, Rng2 As Range
Dim i As Long, j As Long
Set WB = ThisWorkbook
Set SH = WB.Sheets.Add
With SH
For i = 1 To 10 Step 2
For j = 1 To 10 Step 2
.Cells(i, j).Value = i * j
Next j
Next i
Set Rng = .UsedRange
Set Rng2 = Rng.SpecialCells(xlCellTypeConstants)
End With
With Rng2
Call MsgBox( _
Prompt:="Rng2.Columns.Count = " & .Columns.Count _
& vbNewLine _
& "Rng2.rows.count = " & .Rows.Count, _
Buttons:=vbInformation, _
Title:="REPORT")
End With
End Sub
'<<=========
===
Regards,
Norman