Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

INSERIMENTO DI UN NUOVO FOGLIO INSERENDO UN NOME IN UNA CELLA

Ultimo Aggiornamento: 12/03/2016 19:12
Post: 1
Registrato il: 09/03/2016
Città: FISCIANO
Età: 53
Utente Junior
2013
OFFLINE
09/03/2016 22:06

Salve a tutti,

ho provato in tutti i modi ma non riesco a risolvere il mio dilemma e non so a questo punto se con excel 2013 o more sia possibile, fare comparire dinamicamente un nuovo foglio rinominato aggiungendo un nome in una elenco/tabella di nomi.

Cerco di essere più esaustivo;

Avendo un database PINCO, desidererei che ogni qualvolta inserisco un nome nel DATABASE, venga creato un nuovo foglio rinominato con il nome della persona inserita nel DATABASE e magari eliminarlo se si elimina il record dal DATABASE.

Help mi please! [SM=x423023] [SM=x423034] [SM=x423052]

Post: 1.617
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
09/03/2016 22:20

Ciao Amerigo

Quello che chiedi è possibile farlo solo con le macro. Tu hai qualche conoscenza in materia?

Se alleghi un tuo file di esempio (con dati fittizi) giusto per capirne la struttura e vediamo quel che si può fare.

[Modificato da alfrimpa 09/03/2016 22:29]

Alfredo
Post: 198
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
09/03/2016 22:33

Cross-post: http://www.forumexcel.it/forum/14-sei-nuovo-del-forum-presentati-qui/2497-l-inserimento-di-un-nuovo-foglio-dinamicamente-e-possibile

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 1
Registrato il: 09/03/2016
Città: FISCIANO
Età: 53
Utente Junior
2013
OFFLINE
09/03/2016 23:29

Alfredo,
Questo è per esempio.
Per le Macro?
Diciamo che è meglio pasta e fagioli? [SM=x423030]
No scherzavo, mi sto appena cimentando in semplici macro ma nulla di complesso!
[Modificato da amerigo-fasolino 09/03/2016 23:34]
Post: 1.618
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
10/03/2016 12:36

Ciao Amerigo

Innanzitutto mi corre l'obbligo di dire che il crossposting (ossia postare contemporaneamente su più forum la stessa richiesta) non è una pratica molto corretta tant'è che in alcuni forum è vietata dal regolamento (in Forumexcel.it lo è tanto è vero che la discussione che hai aperto lì ti è stata chiusa).

Questo soprattutto per una questione di rispetto nei confronti di chi si accinge a rispondere e non sa che c'è qualcun altro a "lavorare" sullo stesso problema.

Capisco anche che sei nuovo e queste cose non potevi saperle.

Detto questo veniamo al tuo problema.

Ti ho allegato un file dove ti ho inserito le sottostanti macro che fanno quello che hai chiesto (per il momento il solo inserimento dei fogli):

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.ScreenUpdating = False
If Not Intersect(Target, Range("g4:g100")) Is Nothing Then
    If Target.Value = "" Then Exit Sub
    Call InserisciFoglio
    Call FormattaFoglio
    ActiveSheet.Name = Target & " " & Target.Offset(0, -5)
    ActiveSheet.Range("a1:k3").Value = Target & " " & Target.Offset(0, -6) & " " & Target.Offset(0, -5) & " " & Target.Offset(0, -3)
Call FormattaFoglioDipendente
End If
Sheets("database").Range("a1").Select
Application.ScreenUpdating = True
End Sub


Sub InserisciFoglio()
    Sheets.Add After:=Sheets(Sheets.Count)
End Sub


Sub CancellaFoglio()
    Sheets("Foglio1").Select
    ActiveWindow.SelectedSheets.Delete
End Sub


Sub FormattaFoglio()
    Range("A1:K3").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge
End Sub


Sub FormattaFoglioDipendente()
    Range("A1:K3").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 12611584
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    With Selection.Font
        .Name = "Calibri"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
    With Selection.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
    End With
    Selection.Font.Bold = True
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = True
    End With
End Sub


Sul foglio "database" ho spostato il campo "Equipaggio" dalla prima colonna a sinistra all'ultima a destra per motivi che sarebbe complicato spiegare.

Un'altra cosa: nel campo matricola non usare "/" perché questo non è un carattere ammesso nei nomi dei fogli; sostituiscilo con un trattino o un underscore es. 123456-a oppure 123456_a.

Prova un po' il file poi penseremo al problema della cancellazione dei nominativi e relativi fogli.
[Modificato da alfrimpa 10/03/2016 22:20]

Alfredo
Post: 199
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
12/03/2016 19:12

Visto che avevo preparato un bozza (poi mai completata) per il problema del nome del nuovo foglio avevo inserito nella macro questo codice:
        matricola = Split(cellaNome.Offset(0, 2), "/")
        nomeTag = Replace(cellaNome, " ", "-") & "-" & matricola(0)

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 17:04. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com