Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Geacs,
Ciao Norman,
Ho provato il codice, e solo il primo dei nominativi riporta nella cella C3 Foglio3 il nome corretto. Tutti gli altri riportano il nome del primo nominativo. A me servirebbe che tutti i file, nella cella C3 del foglio3 riporta lo stesso nome dato al file creato. Faccio un esempio se può rendere meglio la mia richiesta. Seleziono ad esempio il nome Michele il primo file creato prende il nome nominativo1 e nella cella C3 riporta nominativo1. Crea il secondo file nominativo2 e nella cella C3 riporta nominativo2. La stessa cosa, dev'essere fatto per i file che seguono nominativo3 il nome del file, nella C3 riporterà nominativo3, a seguire tutti gli altri.
Come avrai capito, ho faticato a capire le tue esigenze!
Tuttavia, se la tua intenzione fosse quella di creare un file PDF separato per ogni nominativo nel gruppo selezionato nella cella a tendina K3 del foglio Foglio3 e registrare il relativo nominativo nella cella C3 di ciascun file PDF, prova a sostituire il mio codice con la seguente versione:
'========>>
Option Explicit
'-------->>
Public Sub Tester2()
Dim WB As Workbook
Dim SH\_Convalida As Worksheet, SH\_Gruppi As Worksheet
Dim Rng\_Convalida As Range, Rng\_Gruppo As Range, Rng\_PDF As Range, rNominativo As Range
Dim rCell As Range
Dim sGruppo As String, sNominativo As String
Dim Res As Variant, Res2 As Variant
Dim iCtr As Long
Const sFoglio\_Convalida As String = **"Foglio3" '<<=== Modifica**
Const sFoglio\_Gruppi As String = **"Foglio2" '<<=== Modifica**
Const sCella\_Convalida As String = **"K3" '<<=== Modifica**
Const sPercorso As String = **"C:\Test\" '<<=== Modifica**
Set WB = ThisWorkbook
With WB
Set SH\_Convalida = .Sheets(sFoglio\_Convalida)
Set SH\_Gruppi = .Sheets(sFoglio\_Gruppi)
End With
With SH\_Convalida
sGruppo = .Range(sCella\_Convalida).Value
Set Rng\_PDF = .UsedRange
End With
With SH\_Gruppi
Set rNominativo = .Range("A1").CurrentRegion.Rows(1).Find(What:=sGruppo, \_
After:=.Cells(1), \_
Lookat:=xlWhole, \_
LookIn:=xlFormulas, \_
SearchOrder:=xlByRows, \_
SearchDirection:=xlPrevious, \_
MatchCase:=False)
End With
With rNominativo
Set Rng\_Gruppo = SH\_Gruppi.Range(.Offset(1), .End(xlDown))
End With
Res = Dir(sPercorso, vbDirectory)
If Res = vbNullString Then
MkDir sPercorso
End If
Res2 = Dir(sPercorso & sGruppo, vbDirectory)
If Res2 = vbNullString Then
MkDir sPercorso & sGruppo
End If
For Each rCell In Rng\_Gruppo.Cells
iCtr = iCtr + 1
With rCell
sNominativo = .Value
SH\_Convalida.Range("C3").Value = sNominativo
If Not IsEmpty(.Value) Then
Call Crea\_PDF(Rng\_PDF, sPercorso & "\" & sGruppo & "\" & sNominativo)
End If
End With
Next rCell
Call MsgBox(Prompt:="Fatto", \_
Buttons:=vbInformation, \_
Title:="REPORT")
End Sub
'--------->>
Public Sub Crea_PDF(Rng As Range, sName As String)
Rng.ExportAsFixedFormat \_
Type:=xlTypePDF, \_
Filename:=sName & ".pdf", \_
Quality:=xlQualityStandard, \_
IncludeDocProperties:=True, \_
IgnorePrintAreas:=True, \_
OpenAfterPublish:=False
End Sub
'<<========
Potresti scaricare il mio file di prova Geacs_20230316.xlsm
Con riferimento a questo file, se nella tendina della cella K3 di Foglio3 è stato selezionato il nome del gruppo Alfredo, verrà creata, se non esiste già, una directory C:\Test\Alfredo e il primo file PDF salvato in questa directory sarà denominato Nominativo71 .pdf e questo nominativo verrà visualizzato in quel file:
[![Immagine](https://learn-attachment.microsoft.com/api/attachments/73d9ddbd-86d2-467b-90d1-58b27a3a926e?platform=QnA
Allo stesso modo, il decimo file creato in quella directory sarà denominato Nominativo80.pdf e questo file visualizzerà il relativo nominativo:
[![](https://learn-attachment.microsoft.com/api/attachments/0acaacf1-a62f-4554-94d0-c00d882640dd?platform=QnA
Un comportamento simile si può osservare per qualsiasi directory creata dal codice dopo una modifica del nome del gruppo selezionato nella cella K3 del Foglio3; i file in questa directory saranno nominati ciascuno in accordo con i membri costitutivi del gruppo e ogni file riporterà il relativo nominativo.
===
Regards,
Norman