You are here:--Eliminare colonne tabella su più fogli
Eliminare colonne tabella su più fogli 2019-04-11T15:29:18+02:00

Home Forum Domande su Excel VBA e MACRO Eliminare colonne tabella su più fogli

Tag: 

  • Autore
    Articoli
  • AvatarKris_9951
    Partecipante
      Post totali: 2
      #8486 |

      Ho un piccolo problema in quanto avrei bisogno di una Macro in grado di eliminare alcune colonne di ogni tabella di ogni foglio (ad eccezione di alcuni fogli)
      Ho creato diverse tabelle per ogni foglio di lavoro.
      Le tabelle sono tutte uguali tra di loro e disposte l’una sotto l’altra, di conseguenza anche i fogli sono tutti uguali tra di loro (ad eccezione di alcuni)
      Le colonne da eliminare sono 5 (da “AE” a “AI”).
      Potrei farlo a mano ma si tratterebbe di eliminare colonne da poco più di 250 tabelle… 
      Preciso che ho bisogno di eliminare solo le colonne delle tabelle Con Macro si potrebbe fare?Allego un  file.
      La scheda “RISULTATO” rappresenta come vorrei che venisse (ho eliminato manualmente le colonne di ogni singola tabella da “AE” a “AI”, ovvero 5 colonne in totale).Tutte le altre schede sono da modificare…
      Si potrebbe automatizzare in qualche modo questa procedura?
      Grazie mille a tutti!!
      https://www.dropbox.com/s/3d6puhp4iffkmxh/TEST2.xlsx?dl=0

      • Questo argomento è stato modificato 1 settimana, 3 giorni fa da Avatar Kris_9951.
      • Questo argomento è stato modificato 1 settimana, 3 giorni fa da BySalv BySalv. Ragione: testo illegibile
    • BySalvBySalv
      Amministratore del forum
        Post totali: 420

        Ciao Kris, non fare copia incolla si porta dietro il formato Html.
        Hai provato ad eliminare le colonne?
        avrai visto che seleziona tutte le colonne, selezionando solo “AE:AI” questo per le celle unite della riga 13.
        inoltre le colonne in toto non si possono eliminare in quanto sono più tabelle una sopra l’altra, quindi devono essere eliminate singolarmente per ogni tabella, quindi devi fare 5 passaggi perche credo che siano 5 tabelle per foglio.
        ancora non hai specificato i nomi di quali fogli devono essere saltati.
        ed infine perche usi le tabelle? visto che sono solo 3 righe, forse per future nuove righe.

        Comunque si può fare con una macro, ma ho bisogno di sapere quali fogli saltare.

        Ciao By Sal :bye:

      • AvatarKris_9951
        Partecipante
          Post totali: 2

          Grazie mille per la risposta!

          non so ancora quelli da escludere.

          per il momento potremmo chiamarli “Pippo” e “pluto”.

          Grazie mille per il supporto 😊

        • sidsid
          Moderatore
            Post totali: 639

            Ciao.
            BySalv sicuramente è impegnato; ne approfitto per darti una mano

            Inanzitutto dobbiamo impostare il numero delle colonne delle tabelle; sono in totale 40 (range A:AH)
            Questo numero in pratica sarà un paracadute, nel caso eseguissi più di una volta la macro, elimineresti altre colonne; invece impostando questa opzione la macro non eliminerà nulla. Ma credo che tanto la userai solo una volta poi potrai eliminarla.

            Questo il codice da inserire in un modulo standard.(attenzione: fai una copia del file e lavora su quello; meglio evitare eventuali spiacevoli sorprese)

            Sub ELIMINA_COLONNE_TABELLE()
            Dim tbl As ListObject
            Dim n As Integer, nColonne As Integer
            Dim ws As Worksheet
            
            nColonne = 40
            Application.ScreenUpdating = False
            For Each ws In ThisWorkbook.Worksheets
                Select Case ws.Name
                    Case "RISULTATO" 
            
                    Case Else
                        For Each tbl In ws.ListObjects
                            If tbl.ListColumns.Count = nColonne Then
                                For n = 1 To 5
                                    tbl.ListColumns(31).Delete
                                Next n
                            End If
                        Next tbl
                End Select
            Next ws
            Application.ScreenUpdating = True
            End Sub

            Nel codice ho impostato l’istruzione per escludere i fogli che non vuoi siano ciclati
            Case "RISULTATO"
            Se devi aggiungere fogli che vanno esclusi dall’esecuzione, devi scriverli tra virgolette e separati da virgola; esempio
            Case "RISULTATO","pippo","pluto","minni"
            ecc…

            spero sia chiaro.

          Devi essere loggato per rispondere a questa discussione.

          Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

          Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

          Chiudi