Inserire valore si apre il foglio

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Giacomo Sepe
00martedì 7 marzo 2023 16:52
Ciao a tutti, nel file allegato vorrei che quando scrivo un nome (riferito ai fogli) si apre il foglio corrispondente. Esempio: se cella cella A1 scrivo "Luca" si deve aprire il foglio Luca. Grazie mille
by sal
00martedì 7 marzo 2023 18:08
Ciao Luca Manca il file


Ciao By Sal (8-D

rollis13
00martedì 7 marzo 2023 18:18
Puoi provare questa macro da mettere nel modulo del foglio dove hai la cella A1.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    Sheets(Target.Value).Select
End Sub

Per agevolare la scelta del nome puoi anche attivare in cella A1 una convalida con elenco con i vari nomi dei fogli.

Ps. un saluto a tutti.
Giacomo Sepe
00martedì 7 marzo 2023 18:57
Inserire valore si apre il foglio
Ciao @rollis13, ho inserito il tuo codice nel foglio1 ma non succede nulla. Allego il file.
Marius44
00martedì 7 marzo 2023 19:26
Ciao
L'Amico @rollis13 (ciao Rolando) ha detto di inserire il codice "nel Modulo del Foglio dove hai la cella A1" che nel tuo caso è il Foglio4)

Modificherei il codice così (per evitare che se la cella fosse vuota vada in errore)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1")) Is Nothing Or Target = "" Then Exit Sub
    Sheets(Target.Value).Select
End Sub


Ciao,
Mario
Giacomo Sepe
00martedì 7 marzo 2023 19:28
Inserire valore si apre il foglio
OK. ci sono riuscito. Per tornare di nuovo al foglio1 (sarebbe il foglio principale) come devo fare? Grazie
rollis13
00martedì 7 marzo 2023 20:06
Un saluto a Mario sempre attento alle sviste degli OP.

@Giacomo Sepe, vedo che non hai fatto granchè per farti un idea su come fare per tornare indietro, un metodo potrebbe essere lo stesso del mio primo suggerimento.
Se la tua esigenza è quella di saltare da un foglio all'altro a questo punto ora suggerisco di crearti in ogni foglio nella cella A1 una convalida (fatta la prima poi basta anche un Copia/Incolla) con tutti i nomi dei vari fogli, compreso il Foglio1, ed usare solo quest'altra macro da mettere questa volta solo nel modulo "Questa_cartella_di_lavoro" (Thisworkbook):
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Intersect(Target, Range("A1")) Is Nothing Or Target = "" Then Exit Sub
    Sheets(Target.Value).Select
End Sub
Giacomo Sepe
00martedì 7 marzo 2023 20:22
Inserire valore si apre il foglio
Faccio presente che il file contiene circa 600 fogli. Ora mi domando se vado aprire il foglio 598 come faccio ad arrivare in automatico al foglio1 (sarebbe quello di partenza) ? Ho creato anche una convalida dati nel foglio1 cella A1 ma non succede nulla. Grazie
alfrimpa
00martedì 7 marzo 2023 21:25
Per me devi usare una userform (da visualizzare con una scorciatoia tipo Alt+lettera) con un pulsante al suo interno che cliccato selezioni il primo foglio da qualsiasi foglio tu sia.
Giacomo Sepe
00martedì 7 marzo 2023 21:44
Ciao @alfrimpa, purtroppo di vba non sono proprio a conoscenza
L2018
00martedì 7 marzo 2023 21:56
@Sepe

ciao
ti invio il tuo file con l'aggiunta di una macro che,in qualsiasi foglio tu ti trovi, premendo CTRL+ m ti chiede a quale foglio vuoi andare, e ci va

Leo
rollis13
00martedì 7 marzo 2023 23:21
600 fogli !! sei sicuro di aver ben analizzato il progetto prima di attivarti ?
Vista la macro suggerita da @L2018 forse è proprio quella che fa per te.
Giacomo Sepe
00mercoledì 8 marzo 2023 13:40
Inserire valore si apre il foglio
Ciao @L2018, il tuo codice è andato bene. Ora avrei un altro problema. Dovrei rinominare i fogli con gli stessi nomi della colonna "A" ad uno ad uno, visto che sono molti come devo fare? Grazie mille
L2018
00mercoledì 8 marzo 2023 14:30
ah, guarda, proprio non saprei, non sono affatto esperto di VBA
La macro che ti ho mandato non l'ho fatta io, l'ho cercata apposta su Google, perchè quando non so rimediare cerco su google
Aspettiamo l'intervento dei veri bravi

Leo

Intanto ti suggerirei modestamente di mettere ordine nel tuo file, cioè rimettere in ordine la lista dei fogli, compreso la mia macro e se vuoi anche la formula di Rollis, perchè penso che un automatismo che rinomina i fogli voglia trovare un elenco ordinato di nomi
Poi, incuriosito come al solito da qualsiasi problema io cerco, ma prova anche tu a cercare.

Leo
Giacomo Sepe
00mercoledì 8 marzo 2023 14:30
Inserire valore si apre il foglio
Ho risolto. Grazie a tutti e soprattutto a L2018
L2018
00mercoledì 8 marzo 2023 14:44
grazie del riscontro, ma qualcuno potrebbe osservare che è elegante comunicare la soluzione, a beneficio di tutti


Leo
alfrimpa
00mercoledì 8 marzo 2023 18:18
L2018

Però anche tu avresti dovuto mostrare la macro che è nel file allegato al post 11.

Se si è da cellulare come si fa a vedere il codice?
L2018
00mercoledì 8 marzo 2023 18:48
@Alfrimpa

scusa, vuoi dire mostrarla qui in chiaro ?

Leo

macro
Sub GotoSheet()
    Dim xRet As Variant
    Dim xSht As Worksheet
    xRet = Application.InputBox("Vai a questo foglio")
    On Error Resume Next
    If xRet = False Then Exit Sub
    On Error GoTo 0
    On Error Resume Next
    Set xSht = Sheets(xRet)
    If xSht Is Nothing Then Set xSht = Sheets(Val(xRet))
    If xSht Is Nothing Then
        MsgBox "Non esiste"
    Else
        xSht.Activate
    End If
End Sub

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 12:41.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com