Questione : Copiare l'intera fila ed incollare in un nuovo manuale Excel VBA

Ciao là, il

Hoping qualcuno può aiutare al codice qui sotto. Sono nuovo a VBA e sto ricercando i sensi realizzare questo sulla rete e questo è che cosa finora. il
Dim LastRow del

Sub SendtoStorage () come Integer
LastRow = strati (“ResultsLog„). Range (“B„ & Rows.Count). Estremità (xlUp). Intero Br/> del Row'< di Select

'Copy se la c è niente destinazione del _
di Then
LastRow = di LastRow + di 1
olData.EntireRow.Copy: =Sheets (“Storage„). Estremità With

I di If
Next
di conclusione del
di Range (“A„ & LastRow) che prova a copiare l'intera fila dallo strato “ResultsLog„, gamma “B4: Y253„ se le file sono popolate. Voglio le file essere copiato allo strato “immagazzinaggio„ della destinazione che comincia in A2. I dati si aggiungeranno continuamente a questo in modo da devono trovare che la fila vuota seguente ed incollare i dati nel
Once della colonna A ecc. questi dati sono stati copiati, esso deve rimuovere il soddisfare “in ResultsLog„, varia " B4: Y253„. il

Hope questo ha significato. Sono sicuro che sono completamente errato con il mio codice, ma realmente ho provato a dargli un andare. Quando utilizzo il registratore non funziona.
class= del

Risposta : Copiare l'intera fila ed incollare in un nuovo manuale Excel VBA

Questo codice funzionerà per che cosa volete, io può cambiarlo per cercare i valori più in bianco, ora esso soltanto che controlla per vedere se i valori in colonna B sono in bianco. Ho allegato alcuni dati di prova con le cellule in bianco casuali in colonna B. La macro presuppone che abbiate un'intestazione della colonna sullo strato di immagazzinaggio.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
checkForValue secondario ()

currentSheet fioco come manuale, WS come manuale
currentSelection fioco come gamma, obiettivo come gamma, subTarget come gamma
screenUpdate fioco come booleano

screenUpdate = Application.ScreenUpdating
Application.ScreenUpdating = falso

'il programma registra il manuale corrente e la selezione corrente
'così alla conclusione del programma potete fare andare il programma indietro a
'dove eravate originale
Regolare il currentSheet = Application.ActiveSheet
Regolare il currentSelection = Application.Selection
Regolare l'obiettivo = la gamma (“B4: B253„)

Per ogni subTarget nell'obiettivo
    Se "" <> di subTarget.Value allora
        Gamma (subTarget, subTarget.End (xlToRight)). Copia
        Manuali (“immagazzinaggio„). Prescelto
        Gamma (“A1„). Attivare
                
        'controllare per vedere se la cellula A2 è in bianco, se allora non è in bianco
        'essenzialmente premere Crtl + giù freccia per trovare dinamicamente l'ultima cellula
        Se ActiveCell.Offset (1, 0). "" <> di valore allora
            Selection.End (xlDown). Prescelto
        Concluder se
                
        'compensare l'indirizzo della cellula attiva da 1 fila ed allora incollare,
        'se non facciate questo scrivereste sopra i vecchi valori
        ActiveCell.Offset (1, 0). Attivare
        'incollare tutto
        xlPasteAll di ActiveCell.PasteSpecial
        Manuali (“ResultsLog„). Prescelto
    Concluder se
Dopo

Application.CutCopyMode = falso
currentSheet.Select
currentSelection.Select

Application.ScreenUpdating = ScreenUpdating

Regolare il currentSheet = niente
Regolar la WS = niente
Regolare il currentSelection = niente
Prefiggere l'obiettivo = niente
Regolare il subTarget = niente

Concludere il sommergibile
Altre soluzioni  
 
programming4us programming4us