elimina colonne



  • elimina colonne
    di Albiuno (utente non iscritto) data: 20/02/2016 11:11:04

    Buongiorno a Voi,
    mi occorrerebbe una istruzione vba per ottenere questo risultato:
    Elimina tutte le colonne le cui celle appartenenti alla prima riga contengano un valore specifico,nel mio caso un valore testuale.
    Ho trovato diversi esempi che al contrario eliminano righe con lo stesso criterio ma non riesco ad applicarle al mio caso.
    Grazie per le delucidazioni!
    Un saluto



  • di Raffaele_53 data: 20/02/2016 12:18:17

    Dovrebbe funzionare, mettile in un MODULO 
    MODIFICO IL CODICE, un refuso usavo un Inputbox e mi è rimasto righe inutili
     
    Public Function LettCol(ByVal n As Long) As String
      LettCol = Replace(Cells(1, n).Address(False, False), "1", "")
    End Function
    Sub elimina_colonne()
    Dim X, C As Variant
    C = Cells(1, Columns.Count).End(xlToLeft).Column
        For X = C To 3 Step -1
                If Not IsNumeric(Cells(1, X)) And Cells(1, X) <> "" Then
                    Columns(LettCol(X) & ":" & LettCol(X)).Delete
                End If
        Next
    MsgBox "fatto"
    End Sub



  • di patel data: 20/02/2016 13:04:53

    prova questa
     
    Sub elimina_colonne()
    NC = Cells(1, Columns.Count).End(xlToLeft).Column
    scelta = "A" ' <<<<<<<< da modificare
    For Col = NC To 1 Step -1
       If Cells(1, Col) = scelta Then
          Columns(Col).Delete
       End If
    Next
    MsgBox "fatto"
    End Sub






  • di Albiuno (utente non iscritto) data: 20/02/2016 13:34:11

    ho provato la soluzione di patel perchè la so abbinare ad un command_button (non me ne voglia Raffaele_53...per la sua soluzione )
    l'istruzione funziona ma mi chiedevo se potevo escludere dall'eliminazione la colonna B (che tengo nascosta ma la elimina ugualmente)
    graziemille e un caro saluto



  • di patel data: 20/02/2016 14:40:11

    If Cells(1, Col) = scelta and Col <> 2 Then
     






  • di Albiuno (utente non iscritto) data: 20/02/2016 15:37:25

    OK,grazie.
    Perfetti come sempre
    Grazie nuovamente
    Ciao