Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Melissa.
Vorrei ottenere una lista di valori uno sotto l'altro che sono presi da una cella X senza dover fare copia-incolla.
La cella X, a sua volta, è il risultato di una formula matematica e il suo valore cambia.
Ho pensato, se è possibile, che dovrei avere un pulsante "aggiungi alla lista"
che mi copia il valore della cella X nella lista ogni volta che lo clicco.
Ha senso? Come posso fare?
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 SH As Worksheet
Dim destRng As Range, srcRng As Range
Dim LRow As Long
Const sCella_Sorgente As String = "C1" '<<=== Modifica
Const sColonna_Lista As String = "A" '<<=== Modifica
Set SH = ActiveSheet
With SH
Set srcRng = .Range(sCella_Sorgente)
LRow = LastRow(SH, .Columns(sColonna_Lista))
Set destRng = .Range(sColonna_Lista & LRow + 1)
End With
destRng.Value = srcRng.Value
End Sub
'--------->>
Public Function LastRow(SH As Worksheet, _
Optional Rng As Range, _
Optional minRow As Long = 1, _
Optional sPassword As String)
Dim bProtected As Boolean
With SH
If Rng Is Nothing Then
Set Rng = .Cells
End If
bProtected = .ProtectContents = True
If bProtected Then
.Unprotect Password:=sPassword
End If
End With
On Error Resume Next
LastRow = Rng.Find(What:="*", _
after:=Rng.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
If LastRow < minRow Then
LastRow = minRow
End If
If bProtected Then
SH.Protect Password:=sPassword, _
UserInterfaceOnly:=True
End If
End Function
'<<=========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel
- Inserisci un pulsante o una forma sul foglio di interesse
- Fai clic dx sul pulsante/forma
- seleziona l'opzione Assegna Macro
- Seleziona la macro Tester
- OK
- Salva il file con l’estensione xlsm
Potresti scaricare il mio file di prova Melissa20190702.xlsm
===
Regards,
Norman