Excel Forum Per condividere esperienze su Microsoft Excel

Hyperlink non funzionanti su sheet che contengono righe e colonne nascoste

  • Messaggi
  • OFFLINE
    mjessica
    Post: 1
    Registrato il: 07/07/2020
    Età: 35
    Utente Junior
    16.0.11922.20760 64bit
    00 07/07/2020 10:26
    Buongiorno,

    Sono nuova nell'ambito VBA.
    Volevo gentilmente chiedervi se potreste aiutarmi nel creare uno sheet index funzionante che contenga i collegamenti hyperlink ad altri sheet dello stesso Workbook.
    Sono riuscita per gli sheet che non contengono righe o colonne nascoste, ma la macro da l'errore "Reference isn't Valid" se clicco sul hyperlink degli sheet che contengono righe e colonne nascoste(vedi screen).

    Allego il mio codice che inserisco in ThisWorkbook:

    Dim ReportNameCell As Range
    Dim i As Integer

    i = 1

    For Each ws In ThisWorkbook.Worksheets
    If ws.Visible <> xlSheetVeryHidden Then

    i = i + 1

    With ws
    ' add the sheet to the index
    ThisWorkbook.Worksheets("Index").Cells(i, 2) = ws.Name
    'Add hyperlink for easy access to other sheets from Index Sheet
    ThisWorkbook.Worksheets("Index").Hyperlinks.Add Anchor:=ThisWorkbook.Worksheets("Index").Cells(i, 2), Address:="", SubAddress:= _
    ws.Name & "!A1", TextToDisplay:=ws.Name

    'Add report name next to its hyperlink

    If Not .Cells.Find("Report:*", .Cells(.Rows.Count, .Columns.Count), -4123, , 1) _
    Is Nothing Then Set ReportNameCell = .Cells(.Cells.Find("Report:*", _
    .Cells(.Rows.Count, .Columns.Count)).Row, .Cells.Find("Report:*", _
    .Cells(.Rows.Count, .Columns.Count), , , 2).Column)
    ThisWorkbook.Worksheets("Index").Cells(i, 1) = ReportNameCell


    Set ReportNameCell = Nothing


    End With

    End If

    Next

    Aspetto un vostro gentile riscontro.

    Grazie mille anticipatamente.
  • OFFLINE
    alfrimpa
    Post: 4.424
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 07/07/2020 11:15
    Jessica ti consiglio di allegare file di esempio con un po’ di dati spiegando su questo il risultato che vuoi ottenere.

    Alfredo
  • OFFLINE
    mjessica
    Post: 1
    Registrato il: 07/07/2020
    Età: 35
    Utente Junior
    16.0.11922.20760 64bit
    00 07/07/2020 11:32
    Ciao Alfredo,

    Grazie per il tuo riscontro.

    Allego il file che contiene:
    - sheet index(che deve contenere titolo e hyperlink dei due altri sheet)
    - sheet Bilancesheet summary
    - sheet BD2
    - macro

    Lo sheet Bilancesheet Summary ha delle colonne e delle righe nascoste, mentre lo sheet BD2 no.

    Quando io applico la macro, l'hyperlink dello sheet BD2 funziona perfettamente quello dello sheet Balancesheet summary no(probabilmente perchè viene indirizzato alla cella A1 che è nascosta).

    Ho provato a inserire un altro indirizzamento di cella nel comando Hyperlink ma non cambia il risultato, anche mantenendo visibile la prima colonna e riga non funziona.

    Aspetto tue news.

    Grazie mille.
  • OFFLINE
    alfrimpa
    Post: 4.425
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 07/07/2020 11:57
    Scusa Jessica ora sono fuori e non ho Excel per poter vedere/provare il file.

    Volevo chiederti ma i collegamenti ipertestuali che cosa fanno materialmente? Attivano un foglio i cos’altro?

    Alfredo
  • OFFLINE
    mjessica
    Post: 2
    Registrato il: 07/07/2020
    Età: 35
    Utente Junior
    16.0.11922.20760 64bit
    00 07/07/2020 12:07
    Ciao Alfredo,

    Gli hyperlink richiamano semplicemente gli altri due sheet, come se lo sheet Index fosse un indice.

    Ad ogni modo, ho risolto.
    A quanto pare non accetta gli spazi nei nomi degli sheet come nel caso di Balancesheet Summary.
    Se rinomino lo sheet con Balancesheet_Summary, l'hyperlink sullo sheet Index funziona.

    Grazie mille ugualmente.
  • OFFLINE
    alfrimpa
    Post: 4.426
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 07/07/2020 12:11
    Meglio così

    Comunque avevo intenzione di proporti una bella userform con una listbox riportante i nomi dei fogli.

    Facendo doppio clic su uno di questi si sarebbe selezionato il relativo foglio. 😃

    Dal punto di vista del codice è molto più semplice di quello per l’inserimento di hyperlinks.
    [Modificato da alfrimpa 07/07/2020 12:20]

    Alfredo
  • OFFLINE
    by sal
    Post: 5.980
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 07/07/2020 16:34
    Ciao mjessica, vedi che il tuo collegamento lo fai nel foglio index come da immagine, è selezionato il foglio Index.



    per cambiare il collegamento devi fare Modifica collegamento e dare ok altrimenti non cambia.

    Ciao By Sal [SM=x423051]



    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui