Condividi tramite

Dati "formattati come tabella": recupero area tramite VBA

Anonimo
2014-03-25T09:11:24+00:00

<p>In un foglio Excel 2010, ho alcuni dati "formattati come tabella" (Home / Formatta come tabella) e viene creata una "tabella" visibile da "Formule / Gestione nomi". Tutto bene. Avrei però bisogno di recuperare, tramite VBA, la stringa "Riferito a" (es.: "=Foglio1!$A$2:$C:$23") in modo da poterla usare altrove in un programma VBA. </p><p>Con i "Nomi definiti" si trova facilmente con il parametro "RefersTo" (ThisWorkbook.Names(i).RefersTo), ma con i "nomi automatici di tabella" (chiamiamoli così) originati cioè dalla "formattazione come tabella", come si fa ad ottenere il medesimo risultato?</p><p>Grazie in anticipo</p><p></p><p>Gian Ivo</p>

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

Risposta accettata dall'autore della domanda

Anonimo
2014-03-25T09:19:48+00:00

In un foglio Excel 2010, ho alcuni dati "formattati come tabella" (Home / Formatta come tabella) e viene creata una "tabella" visibile da "Formule / Gestione nomi". Tutto bene. Avrei però bisogno di recuperare, tramite VBA, la stringa "Riferito a" (es.: "=Foglio1!$A$2:$C:$23"

<cut>

Se ho capito:

Public Sub m()

    Dim sh As Worksheet

    Set sh = ThisWorkbook.Worksheets("Foglio1")

    With sh

        MsgBox .Range("A1").CurrentRegion.Address

    End With

    Set sh = Nothing

End Sub

In questo caso la mia tabella inizia da A1 del Foglio1. Modifica i riferimenti con i tuoi.

NOTA. Trasformare i dati in forma tabellare di un foglio in un oggetto Tabella di Excel, non è sempre una buona cosa, sopratutto se poi si utilizza il VBA. Opinione personale, eh!

La risposta è stata utile?

0 commenti Nessun commento

6 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-03-25T09:53:05+00:00

    ...

    NOTA. Trasformare i dati in forma tabellare di un foglio in un oggetto Tabella di Excel, non è sempre una buona cosa, sopratutto se poi si utilizza il VBA. Opinione personale, eh!

    Già detto in altre occasioni, ma ribadisco ,d'accordissimo!

    In aggiunta alla soluzione di Mauro, segnalo la possibilità di utilizzare l'oggetto ListObject e le sue proprietà e metodi:

     With Worksheets("Foglio1").ListObjects("Tabella1")

        MsgBox "Tabella: " & .Range.Address

        MsgBox "Intestazioni: " & .HeaderRowRange.Address

        MsgBox "Dati: " & .DataBodyRange.Address

        MsgBox "Prima colonna: " & .ListColumns(1).Range.Address

        MsgBox "Prima colonna (solo dati): " & .ListColumns(1).DataBodyRange.Address

        MsgBox "Prima riga (dati): " & .ListRows(1).Range.Address

       ...

      End With

    Andrea.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-03-25T09:47:02+00:00

    Grazie, Mauro, seguirò la tua indicazione. Concordo anche con la tua opinione, ma al momento non posso procedere diversamente.

    Buona giornata

    Bene!

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-03-25T09:45:55+00:00

    Grazie, Mauro, seguirò la tua indicazione. Concordo anche con la tua opinione, ma al momento non posso procedere diversamente.

    Buona giornata

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-03-25T09:31:06+00:00

    Ciao Ivo,

    Non provato:

    Dim sAddress As String

         sAddress= ActiveSheet.ListObjects("Tabella").Range.Address

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento