
Buongiorno, ho un piccolo problema di trasposizione per un database, da verticale a orizzontale. La macro sopra riportata mi risolve parzialmente il problema, mi traspone i dati, partendo dalla colonna A1, io invece ho bisogno che li prenda dalla clonna B1; inoltre la trasposizione deva essere trascritta a partire dalla colonna R3, come si vede dal file allegato. (Il ciclo è di 12 posizioni) Le celle della colonna B1 hanno dei collegamenti con altre cartelle, che preferibilmente andrebbero mantenuti, se possibile. Quindi avrei bisogno di una piccola modifica della macro che purtroppo, per le mie scarse conoscenze di visual basic, non sono in grado di effettuare. Ringrazio anticipatamente per la Vs/ collaborazione e invio cordiali saluti. Claudio |
Sub ProvaTrasponi()
Dim TR, Rig, Col
Dim Valore
Rig = 10
Col = 18
TR = Cells(Rows.Count, 2).End(xlUp).Row ''conta le righe
For i = 1 To TR
Cells(i, 2).Copy Destination:=Cells(Rig, Col)
Col = Col + 1
If Col > 29 Then Col = 18: Rig = Rig + 1
Next i
End Sub |
Sub Trasponi2()
Dim X, Ur, Rg
Ur = Range("B" & Rows.Count).End(xlUp).Row
Rg = 3
For X = 1 To Ur
Range("B" & X & ":B" & X + 11).Copy
Cells(Rg, 18).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
X = X + 11
Rg = Rg + 1
Next X
MsgBox "fatto"
End Sub |
Sub MakeAbsolute()
Dim C As Range, Ur
Ur = Range("B" & Rows.Count).End(xlUp).Row
For Each C In Range("B1:B" & Ur)
If C.HasFormula Then
C.Formula = Application.ConvertFormula(Formula:=C.Formula, fromReferenceStyle:=xlA1, toReferenceStyle:=xlA1, toabsolute:=xlAbsolute)
End If
Next
End Sub |
