Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Lorenzo,
come potete vedere dall'immagine ,ho 2 fogli:"elenco" e "calcoli".Su "calcoli" come potete vedere nella barra delle funzioni,c'è una formula che trova il numero di riferimento sul foglio"elenco" e mi da il valore della cella "c12" (del foglio "elenco"),stessa cosa per le altre celle.La mia domanda è se è possibile scrivere la stessa formula su vba.
Prova qualcosa del genere:
- Alt+F11 per aprire l'editor di VBA
- Alt+IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'=========>>
Option Explicit
'--------->>
Public Sub Tester()
Dim WB As Workbook
Dim SH_Elenco As Worksheet, SH_Calcoli As Worksheet
Dim rngElenco As Range, rngCalcoli As Range
Dim sAdd As String, sAdd2 As String, sAdd3 As String
Dim iRow As Long, jRow As Long
Const sFoglioElenco As String = "Elenco"
Const sFoglioCalcoli As String = "Calcoli"
Set WB = ThisWorkbook
With WB
Set SH_Elenco = .Sheets(sFoglioElenco)
Set SH_Calcoli = .Sheets(sFoglioCalcoli)
End With
With SH_Elenco
iRow = .Cells(1, "A").End(xlDown).Row
Set rngElenco = .Range("A2:A" & iRow)
End With
With rngElenco
sAdd = SH_Elenco.Name & "!" & .Address
sAdd2 = SH_Elenco.Name & "!" & .Offset(0, 2).Address
End With
With SH_Calcoli
jRow = .Cells(1, "A").End(xlDown).Row
Set rngCalcoli = .Range("B2:B" & jRow)
sAdd3 = rngCalcoli.Cells(1, 0).Address(0, 0)
End With
rngCalcoli.Formula = "=LOOKUP(" _
& sAdd3 & "," _
& sAdd _
& "," & sAdd2 & ")"
End Sub
'<<=========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel
- Salva il file con l’estensione xlsm
- Alt+F8 per aprire la finestra di gestione delle macro
- Seleziona Tester
- Esegui
Potresti scaricare il mio file di prova Lorenzo20180413.xlsm
===
Regards,
Norman