La copia di alcuni colonne di excel in base a quelle che i criteri di

Prima cosa che ho fatto è stato creare un pulsante che copiare alcune cellule utilizzando questo codice:

Worksheets(“Foglio1”).Range(“A:A,B:B:D: D”).Copia _
e ha funzionato bene.

Secondo, ho trovato il codice per copiare tutti i dettagli in una riga in base ai criteri di uno, in questo caso se ci fosse Una “a” in “Posizione” colonna.

Private Sub ENTIREROW_Click()
‘Sub copyrows()

Dim i As Range, Cella Come Oggetto

Impostare i = Range(“D:D”) ‘Sostituire con la gamma che comprende i valori Vero/Falso

Per Ogni Cella ho

   If IsEmpty(Cell) Then
       Exit Sub
   End If

   If Cell.Value = "A" Then
       Cell.ENTIREROW.Copy
       Sheet2.Select 'Substitute with your sheet
       ActiveSheet.Range("A65536").End(xlUp).Select
       Selection.Offset(1, 0).Select
       ActiveSheet.Paste
   End If

Prossimo

End Sub

La copia di alcuni colonne di excel in base a quelle che i criteri di

La mia domanda è, come faccio a copiare tutte le informazioni nelle colonne specificate (A,B,D) dove c’è Una “a” in “Posizione” in un unico pulsante.

Inoltre, questo è il mio esempio di dati, il foglio effettivamente utilizzare questo ha 34 colonne da copiare. C’è un modo più efficiente di impostazione di un intervallo di quando non si ha voglia di un’intera sequenza, tutto, ma i dati nella colonna C?

Grazie in anticipo e scusate per la mia spiegazione competenze.

InformationsquelleAutor drblacko | 2014-01-14

 

One Reply
  1. 0

    Un modo forse per:

    • filtro sorgente
    • nascondi colonna C
    • copiare il risultato con .PasteSpecial xlPasteValues nella destinazione
    • Visualizzare la colonna C del foglio sorgente
    • rimuovere il filtro automatico

    Utilizzando xlPasteValues solo paste le celle visibili dalla sorgente in modo che nessun colonna C

    Quindi, il codice simile a questo: .

    Sub CopyRows()
        With Sheets(1).Range([A2], [A2].SpecialCells(xlLastCell))
            [A1].AutoFilter
            .AutoFilter Field:=4, Criteria1:="A"
            [C:C].EntireColumn.Hidden = True
            .Copy
            [C:C].EntireColumn.Hidden = False
        End With
        With Sheets(2)
            If .Cells(Sheets(2).Rows.Count, 1).End(xlUp) = "" Then 'it's a clean sheet
                .Cells(Sheets(2).Rows.Count, 1).End(xlUp).PasteSpecial Paste:=xlPasteValues
            Else
                .Cells(Sheets(2).Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
            End If
        End With
        Application.CutCopyMode = False
        Sheet1.[A1].AutoFilter
    End Sub
    • Ehi, che ha funzionato perfettamente. Per il mio foglio ho bisogno di queste colonne indicato: “A:K, M:Z, AA, AB, AD:AJ”. È meglio per nascondere tutte le altre colonne o c’è un modo per selezionare solo che dato intervallo?
    • Su Sheet1 premere Ctrl + End per andare all’ultima cella. Se tale ultima cella è nell’ultima colonna che ha qualcosa, quindi non c’è bisogno di nascondere eventuali ulteriori colonne. Se l’ultima cella in una colonna vuota, quindi eliminare tutte le colonne tra quella e l’ultima più significativa parte della colonna e salvare la cartella di lavoro per reimpostare l’intervallo utilizzato.

Lascia un commento