perchè non riesco a spiegare bene quello che mi occorre. Spero di riuscirci adesso.
In una cartella di lavoro ho 3 fogli. Nel foglio3 in C2 ho un Convalida Dati con un elenco da cui selezionare.
Effettuando la selezione riempio altre celle presenti nel foglio. Alcune tramite formula altre tramite il vba che allego di seguito.
Premetto che i dati per riempire le celle li prendo sia dal foglio2 che dal foglio1.
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PID As Long, R As Long, j As Long, N As Integer
If Target.Address = "$C$2" Then
ActiveSheet.Range("$A$10:$K$50").ClearContents
PID = Cells(2, 7)
R = ActiveWorkbook.Sheets("Foglio2").Cells(2, 3).End(xlDown).Row
For j = 2 To R
' PID
If ActiveWorkbook.Sheets("Foglio2").Cells(j, 3) = PID Then
N = N + 1
' IDDetails
ActiveSheet.Cells(9 + N, 1) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 1)
' DataStipula
ActiveSheet.Cells(9 + N, 2) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 2)
' Rischio
ActiveSheet.Cells(9 + N, 3) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 4)
' Garanzia
ActiveSheet.Cells(9 + N, 4) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 5)
' Massimale
ActiveSheet.Cells(9 + N, 5) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 6)
' Scoperto
ActiveSheet.Cells(9 + N, 6) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 7)
' Franchigia
ActiveSheet.Cells(9 + N, 7) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 8)
' S.a.Massimo%
ActiveSheet.Cells(9 + N, 8) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 9)
' S.a.Massimo
ActiveSheet.Cells(9 + N, 9) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 10)
' Importo
ActiveSheet.Cells(9 + N, 10) = ActiveWorkbook.Sheets("Foglio2").Cells(j, 11)
With ActiveSheet.Range(Cells(9 + N, 2), Cells(9 + N, 11))
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End If
ActiveSheet.Range("$B$15:$B$50").NumberFormat = "m/d/yyyy"
Next
End If
End sub
Allora in base al presente codice nel foglio3 a partire dalla riga 10 colonna 1 e per 11 colonne (salto la colonna 3 del foglio2) importo i dati presenti nel foglio2 . Nel foglio3 ho una 12esima colonna che vorrei contenesse una formula. Il problema sta nel fatto che, appena cambio la selezione nell'elenco a discesa del convalida dati, la formula che ho inserito nella colonna 12 (per intenderci da k10 fino a k50) stranamente viene cancellata.
Spero di essere stato abbastanza felice nella spiegazione ma eventulamente posso postare il file domani mattina.
Vi ringrazio anticipatamente per l'aiuto.
fastbike