Condividi tramite

Riferimento dinamico ad una cella copiando non solo il contenuto ma anche il colore o il formato

Anonimo
2023-10-31T15:46:39+00:00

Buonasera, come è possibile effettuare un riferimento ad una cella di un foglio di lavoro diverso riportandone non solo il contenuto ma anche il colore o il formato?

Ad esempio nella cella A1 di un foglio è presente la parola CASA scritta in colore rosso su sfondo giallo. Utilizzando in un'altra cella di un altro foglio di lavoro la formula ='Indirizzo[nomefile.xls]sheet'!cella (oppure anche tramite il comando INDIRETTO poiché il file è stato caricato in maniera dinamica in quanto si aggiorna su fogli diversi) ottengo soltanto la parola CASA. Come è possibile invece ottenere la stessa identica cella ossia CASA scritta in colore rosso su sfondo giallo?

Grazie mille in anticipo.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

11 risposte

Ordina per: Più utili
  1. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2023-11-01T16:08:14+00:00

    Il file "user", punta al file "ORARIO", ho utilizzato la funzione INDIRETTO per avere un puntatore dinamico alla creazione di nuovi fogli nel file principale.

    Grazie

    Visto che non sei digiuno di programmazione, ti lascio il codice da inserire in User:

    Option Explicit 
    
    Sub Classi() 
    
    Dim lngRow As Long, lngCol As Long 
    
    Dim lngColS As Long, rngCell As Range 
    
    Dim lngSet As Long, datDate As Date, lngH As Long 
    
    Dim wksThis As Worksheet 
    
        Set wksThis = ActiveSheet 
    
        For lngRow = 3 To 30 
    
            If Cells(lngRow, 1) > 0 Then 
    
                For lngCol = 2 To 16 
    
                    If wksThis.Cells(2, lngCol).Value <> "" Then 
    
                        lngSet = Application.Max(wksThis.Range("T1:T" & lngRow)) 
    
                        datDate = Application.Max(Range(wksThis.Cells(1, 1), wksThis.Cells(1, lngCol + 1))) 
    
                        lngH = wksThis.Cells(lngRow, 1).Value 
    
                        With Workbooks("Orario.xls").Worksheets("Set" & lngSet) 
    
                            lngColS = Application.Match(CLng(datDate), .Range("A1:AZ1"), 0) 
    
                            Set rngCell = .Cells(3, lngColS - 1 + Application.Match(lngH, .Range(.Cells(2, lngColS), .Cells(2, 100)), 0)) 
    
                        End With 
    
                        If rngCell.Value <> "" Then rngCell.Copy wksThis.Cells(lngRow, lngCol) 
    
                    End If 
    
                Next lngCol 
    
            End If 
    
        Next lngRow 
    
    End Sub
    

    Puoi integrarlo con la gestione errori in caso non trovi i fogli Setx, inoltre te l'ho predisposto per gestire le colonne, visto che dall'esempio non era chiaro come volessi gestire i nomi e/o le classi. Potresti anche rendere dinamico il file Orario.xls o aggiungerci mille altri ammennicoli, ma direi che per ora fa il suo dovere.

    Se ti occorrono spiegazioni chiedi pure,

    ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-10-31T17:00:28+00:00

    Immaginavo, ed un esempio di VBA che possa fare questo?

    Se servisse potrei anche allegare dei files di esempio.

    Grazie mille per la celerissima risposta.

    Puoi usare i metodi Copy & Paste per avere stesso formato e stesso valore, se vuoi un esempio mirato allora si, è meglio allegare dei files.

    Ciao.

    https://www.dropbox.com/t/WmVN7TKaf2bfsh7A

    Il file "user", punta al file "ORARIO", ho utilizzato la funzione INDIRETTO per avere un puntatore dinamico alla creazione di nuovi fogli nel file principale.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2023-10-31T16:55:07+00:00

    Immaginavo, ed un esempio di VBA che possa fare questo?

    Se servisse potrei anche allegare dei files di esempio.

    Grazie mille per la celerissima risposta.

    Puoi usare i metodi Copy & Paste per avere stesso formato e stesso valore, se vuoi un esempio mirato allora si, è meglio allegare dei files.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2023-10-31T16:35:21+00:00

    Buonasera, come è possibile effettuare un riferimento ad una cella di un foglio di lavoro diverso riportandone non solo il contenuto ma anche il colore o il formato?

    Ad esempio nella cella A1 di un foglio è presente la parola CASA scritta in colore rosso su sfondo giallo. Utilizzando in un'altra cella di un altro foglio di lavoro la formula ='Indirizzo[nomefile.xls]sheet'!cella (oppure anche tramite il comando INDIRETTO poiché il file è stato caricato in maniera dinamica in quanto si aggiorna su fogli diversi) ottengo soltanto la parola CASA. Come è possibile invece ottenere la stessa identica cella ossia CASA scritta in colore rosso su sfondo giallo?

    Grazie mille in anticipo.

    Non è possibile con le formule senza ricorrere ad artifici che non sono sicuro siano applicabili a fogli diversi da quello in uso, prova a vedere come funziona INFO.CELLA, ma la maniera migliore rimane VBA.

    Ciao.

    Immaginavo, ed un esempio di VBA che possa fare questo?

    Se servisse potrei anche allegare dei files di esempio.

    Grazie mille per la celerissima risposta.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2023-10-31T16:19:22+00:00

    Buonasera, come è possibile effettuare un riferimento ad una cella di un foglio di lavoro diverso riportandone non solo il contenuto ma anche il colore o il formato?

    Ad esempio nella cella A1 di un foglio è presente la parola CASA scritta in colore rosso su sfondo giallo. Utilizzando in un'altra cella di un altro foglio di lavoro la formula ='Indirizzo[nomefile.xls]sheet'!cella (oppure anche tramite il comando INDIRETTO poiché il file è stato caricato in maniera dinamica in quanto si aggiorna su fogli diversi) ottengo soltanto la parola CASA. Come è possibile invece ottenere la stessa identica cella ossia CASA scritta in colore rosso su sfondo giallo?

    Grazie mille in anticipo.

    Non è possibile con le formule senza ricorrere ad artifici che non sono sicuro siano applicabili a fogli diversi da quello in uso, prova a vedere come funziona INFO.CELLA, ma la maniera migliore rimane VBA.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento