
Option Explicit
Sub Ric_valori()
Dim Col_i As Variant, Col_o As Variant
Dim i As Long, r As Long
Dim Val1 As Long, Val2 As Long
Col_i = InputBox("Colonna di Lettura")
Col_o = InputBox("colonna Destinazione dati") 'Puo' essere la stessa di Lettura
For i = 2 To Cells(Rows.Count, Col_i).End(xlUp).Row
If Cells(i, Col_i) <> "" Then
Val1 = Cells(i, Col_i)
Cells(i, Col_o) = Val1
Else
For r = i To Cells(Rows.Count, Col_i).End(xlUp).Row
If Cells(r, Col_i) <> "" Then
Val2 = Cells(r, Col_i)
Cells(i, Col_o) = (Val1 + Val2) / 2
Exit For
End If
Next r
End If
Next i
If Cells(i, Col_i) = "" Then Cells(i, Col_o) = Val1
End Sub
|
Sub CopiaECompleta()
Dim RangeLavoro As Range
Dim CellaLavoro As Range
Dim RigheLavoro
Dim ColonneLavoro
Dim ColonnaInd
Dim RigaInd
Dim MiaMatrice()
Set RangeLavoro = Application.InputBox("Selezionare range di Lavoro escluso l'intesatazione", "SELEZIONE", , , , , , 8)
Columns("G:H").Select
Selection.Delete Shift:=xlToLeft
Range("G1:H1").Merge
Range("G1:H1").FormulaR1C1 = "Matrice risultato"
RangeLavoro.Copy
Range("G2").Select
ActiveSheet.Paste
RigheLavoro = RangeLavoro.Rows.Count
ColonneLavoro = RangeLavoro.Columns.Count
ReDim MiaMatrice(1 To RigheLavoro, 1 To ColonneLavoro)
For ColonnaInd = 1 To ColonneLavoro
For RigaInd = 1 To RigheLavoro
Range("G1").Offset(0, 0).Select
If Range("G2").Offset(RigaInd - 1, ColonnaInd - 1) <> "" Then
MiaMatrice(RigaInd, ColonnaInd) = Range("G2").Offset(RigaInd - 1, ColonnaInd - 1)
Else
If (Range("G2").Offset(RigaInd - 1, ColonnaInd - 1).End(xlUp).Row < 2) Then
MiaMatrice(RigaInd, ColonnaInd) = Range("G2").Offset(RigaInd - 1, ColonnaInd - 1).End(xlDown)
ElseIf (Range("G2").Offset(RigaInd - 1, ColonnaInd - 1).End(xlDown).Row > (RigheLavoro + 1)) Then
MiaMatrice(RigaInd, ColonnaInd) = Range("G2").Offset(RigaInd - 1, ColonnaInd - 1).End(xlUp)
Else
MiaMatrice(RigaInd, ColonnaInd) = Range("G2").Offset(RigaInd - 1, ColonnaInd - 1).End(xlDown) / 2 + Range("G2").Offset(RigaInd - 1, ColonnaInd - 1).End(xlUp) / 2
End If
End If
Next
Next
For ColonnaInd = 1 To ColonneLavoro
For RigaInd = 1 To RigheLavoro
Range("G2").Offset(RigaInd - 1, ColonnaInd - 1) = MiaMatrice(RigaInd, ColonnaInd)
Next
Next
End Sub
|
Option Explicit
Sub Ric_valori()
Dim Col_i As Variant, Col_o As Variant
Dim i As Long, r As Long, Nriga As Long
Dim Val1 As Long, Val2 As Long
Dim flag As Long
Col_i = InputBox("Colonna di Lettura")
Col_o = InputBox("colonna Destinazione dati") 'Puo' essere la stessa di Lettura
Nriga = UsedRange.Row + UsedRange.Rows.Count - 1
For i = 2 To Nriga
flag = 1
If Cells(i, Col_i) <> "" Then
Val1 = Cells(i, Col_i)
Cells(i, Col_o) = Val1
flag = 0
Else
For r = i To Nriga
If Cells(r, Col_i) <> "" Then
Val2 = Cells(r, Col_i)
Cells(i, Col_o) = (Val1 + Val2) / 2
Exit For
End If
Next r
End If
Next i
If flag = 1 Then Cells(i - 1, Col_o) = Val1
End Sub
|
Option Explicit
Sub Ric_valori3()
Dim Col_i As Variant, Col_o As Variant
Dim i As Long, r As Long, Nriga As Long, co As Long
Dim Val1 As Long, Val2 As Long
Dim flag As Long
On Error Resume Next
For co = 3 To 64 '' colonne
Col_i = co
Col_o = co 'Puo' essere la stessa di Lettura
Nriga = UsedRange.Row + UsedRange.Rows.Count - 1
''Nriga = InputBox("Inserire Ultimo Numero di Riga")
For i = 4 To Nriga
flag = 1
If Cells(i, Col_i) <> "" Then
Val1 = Cells(i, Col_i)
Cells(i, Col_o) = Val1
flag = 0
Else
For r = i To Nriga
If Cells(r, Col_i) <> "" Then
Val2 = Cells(r, Col_i)
Cells(i, Col_o) = (Val1 + Val2) / 2
Exit For
End If
Next r
End If
Next i
If flag = 1 Then Cells(i - 1, Col_o) = Val1
Next co
End Sub
|
Option Explicit
Sub Ric_valori3()
Dim Col_i As Variant, Col_o As Variant
Dim i As Long, r As Long, Nriga As Long, co As Long
Dim Val1 As Double, Val2 As Double
Dim flag As Long
On Error Resume Next
For co = 3 To 64 '' colonne
Col_i = co
Col_o = co 'Puo' essere la stessa di Lettura
Nriga = UsedRange.Row + UsedRange.Rows.Count - 1
''Nriga = InputBox("Inserire Ultimo Numero di Riga")
For i = 4 To Nriga
flag = 1
If Cells(i, Col_i) <> "" Then
Val1 = Cells(i, Col_i)
Cells(i, Col_o) = Val1
flag = 0
Else
For r = i To Nriga
If Cells(r, Col_i) <> "" Then
Val2 = Cells(r, Col_i)
Cells(i, Col_o) = (Val1 + Val2) / 2
Exit For
End If
Next r
End If
Next i
If flag = 1 Then Cells(i - 1, Col_o) = Val1
Next co
End Sub
|
Option Explicit
Sub Ric_valori3()
Dim Col_i As Variant, Col_o As Variant
Dim i As Long, r As Long, Nriga As Long, co As Long
Dim Val1 As Double, Val2 As Double
Dim flag As Long
On Error Resume Next
Nriga = InputBox("Inserire Ultimo Numero di Riga") ''
For co = 3 To 64 '' colonne
Col_i = co
Col_o = co 'Puo' essere la stessa di Lettura
''Nriga = UsedRange.Row + UsedRange.Rows.Count - 1
For i = 4 To Nriga
flag = 1
If Cells(i, Col_i) <> "" Then
Val1 = Cells(i, Col_i)
Cells(i, Col_o) = Val1
flag = 0
Else
For r = i To Nriga
If Cells(r, Col_i) <> "" Then
Val2 = Cells(r, Col_i)
Cells(i, Col_o) = (Val1 + Val2) / 2
Exit For
End If
Next r
End If
Next i
If flag = 1 Then Cells(i - 1, Col_o) = Val1
Next co
End Sub
|
