By venkatraj pada hari Selasa, 10 Juli 2018
Posted in Excel
Balasan 0
"Like" 0
views 1.8K
Suara 0
Saya memiliki makro yang menyalin seluruh Lembar 2 ke Lembar 1 berdasarkan header.

Sebagai contoh,

Sheet 2 memiliki beberapa kolom dan Sheet 1 hanya akan memiliki 5 atau 6 kolom dengan header Sheet2. Dengan skrip di bawah ini, Lembar 1 akan menarik baris lengkap; berdasarkan header Lembar 2 (Contoh: 10). Sekarang, saya perlu sedikit memodifikasi skrip di mana ia hanya akan menarik Baris yang disorot (berwarna Merah) dari Lembar 2 berdasarkan header (Mis: 2 baris). Tolong bantu.

Sub Makro1()
Redup Rng Sebagai Rentang, c Sebagai Rentang
Redupkan Sel Sebagai Rentang
Redupkan Ukuran Selamanya
Redupkan tujuan Sebagai Rentang
Redupkan headerRng Sebagai Rentang
Redup lDestRow Selamanya
Redupkan saya Sebagai Integer
Application.ScreenUpdating = Salah 'Batalkan komentar setelah pengujian

Sheets("Lembar Dasar").Pilih
i = 0
Atur Rng = Rentang([D1], [D1].End(xlToRight))


Untuk Setiap c Dalam Rng


Setel sCell = Sheets("Daftar").Range("1:1").Find(what:=c.Value, LookIn:=xlValues, lookat:=xlWhole)
rSize = Sheets("Daftar").Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Cells.Count

Jika c.Offset(1, 0).Nilai <> "" Maka
'c.End(xlDown).Offset(1, 0).Resize(rSize, 1) = Sheets("Daftar").Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells( xlCellTypeVisible).Nilai
Tetapkan tujuan = c.End(xlDown).Offset(1, 0)
Jika i = 0 Maka
lDestRow = dest.Baris
End If

Jika dest.Row < lDestRow Kemudian
Setel tujuan = Sel(lDestRow, dest.Column)
End If

Sheets("Daftar").Range(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Copy
tujuan.Pilih
ActiveSheet.Tempel


Lain
'c.Offset(1, 0).Ubah ukuran(rSize, 1).Nilai = Rentang(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Nilai

Rentang(sCell.Offset(1, 0), sCell.End(xlDown)).SpecialCells(xlCellTypeVisible).Copy
Tetapkan tujuan = c.Offset(1, 0)

Jika dest.Row < lDestRow Kemudian
Setel tujuan = Sel(lDestRow, dest.Column)
End If

tujuan.Pilih
ActiveSheet.Tempel
End If

i = i + 1
Selanjutnya
Application.ScreenUpdating = Benar

End Sub
Lihat Posting Lengkap