==================================
Public Sub Tab2Mat()
Dim RowRange As Range, ColRange As Range
Dim StartPoint As Range, TargetPoint As Range
Dim i As Range, j As Integer, k As Integer
' Definizioni
' ----------------------------------------------------------
Set StartPoint = [Sheet3!A1] ' La cella vuota all'incrocio
' intestazioni Riga
' con Colonna
Set TargetPoint = [Sheet3!C13]
' ----------------------------------------------------------
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Set RowRange = StartPoint(2, 1)
If Not IsEmpty(RowRange(2, 1)) Then
Set RowRange = RowRange.Resize _
(RowRange.End(xlDown).Row - RowRange.Row + 1)
End If
Set ColRange = StartPoint(1, 2)
If Not IsEmpty(ColRange(1, 2)) Then
Set ColRange = ColRange.Resize _
(, ColRange.End(xlToRight).Column - ColRange.Column + 1)
End If
For Each i In RowRange
For j = 1 To ColRange.Columns.Count
k = k + 1
TargetPoint(k, 1) = i
TargetPoint(k, 2) = ColRange(1, j)
TargetPoint(k, 3) = i(1, j + 1)
Next
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
==================================
Bruno