Ho una pagina multipla in un modulo utente. Durante l'esecuzione, l'utente può scegliere di aggiungere il numero x di pagine in qualsiasi momento. Gli elementi di ciascuna pagina saranno uguali. Mi chiedo se c'è un modo per duplicare questi elementi o dovrei ricreare questi stessi elementi per ogni nuova pagina? In tal caso, come posso specificare le posizioni nella pagina in cui deve essere posizionato l'elemento?Copia elementi da una pagina a un'altra in più pagine con VBA in Excel
5
A
risposta
7
Il trucco è quello di mettere tutti i comandi in una cornice nella prima pagina e poi il resto diventa facile :)
Questo codice copiare i controlli dalla Page1
a Page2
dopo aver creato Page2
e allineare di conseguenza.
Option Explicit
Private Sub CommandButton2_Click()
Dim l As Double, r As Double
Dim ctl As Control
MultiPage1.Pages.Add
MultiPage1.Pages(0).Controls.Copy
MultiPage1.Pages(1).Paste
For Each ctl In MultiPage1.Pages(0).Controls
If TypeOf ctl Is MSForms.Frame Then
l = ctl.Left
r = ctl.Top
Exit For
End If
Next
For Each ctl In MultiPage1.Pages(1).Controls
If TypeOf ctl Is MSForms.Frame Then
ctl.Left = l
ctl.Top = r
Exit For
End If
Next
End Sub
ISTANTANEA
0
Il "Errore di runtime '-2.147,417949 millions (80010108)' può essere causato da avere una cornice da qualche altra parte sul modulo. Provare a rimuovere tutti gli altri fotogrammi
È possibile duplicarli copiando e incollando o creando da zero –