Hai Ari,
Coba begini :
1. blok seluruh cells di sheet gabung -> atur agar fill color adalah No
Fill -> hapus seluruh conditional formatting yang ada di sheet gabung
2. blok baris records dari Excel table di sheet gabung (tanpa header di
seluruh kolom Excel table) -> lakukan delete table rows
3. save workbook
4. Cara copy paste values :
sheets("nama sheet yang mau
dicopy").range("a1").currentregion.offset(1).copy
with sheets("nama sheet gabung")
.cells( .rows.count , 1 ).end(xlup).offset(1).pastespecial
xlpastevalues
end with
5. Cara hapus seluruh records dalam Excel table (misal Excel table di sheet
gabung yang header-nya mulai dari A1)
with sheets("nama sheet gabung").range("a1").currentregion
.offset(1).resize( .rows.count -1 ).delete xlshiftup
end with
*** Setelah 5 langkah di atas dikerjakan, barulah memikirkan perbaikan
proses copy yang di paste values beserta proses delete excel table rows
>> Jika hanya sheet tertentu saja yang akan di-copy lalu di-paste values ke
sheet gabung, maka perlu menentukan pola penamaan sheet-nya.
Contoh 1 : sheet yang digabung hanya yang berawalah kata 'sheet'
dim sht as worksheet
with sheets("nama sheet gabung")
for each sht in thisworkbook.worksheets
if lcase(left(sht.name,5))="sheet" then
sht.range("a1").currentregion.offset(1).copy
.cells( .rows.count , 1
).end(xlup).offset(1).pastespecial xlpastevalues
endif
next sht
end with
Contoh 2 : sheet yang digabung adalah selain yang bernama
'Gabung','a1','a2','a3','kid'
dim sht as worksheet, sShtName as string
sshtname="\gabung\a1\a2\a3\kid\"
with sheets("nama sheet gabung")
for each sht in thisworkbook.worksheets
if instr(sshtname,"\" & lcase(sht.name) & "\")=0 then
sht.range("a1").currentregion.offset(1).copy
.cells( .rows.count , 1
).end(xlup).offset(1).pastespecial xlpastevalues
endif
next sht
end with
Regards,
Kid
On Thu, Mar 23, 2017 at 10:32 AM, Eira I Arie [email protected]
[belajar-excel] <[email protected]> wrote:
>
>
> Yth. Pak HK dan Pak Lukman
>
> file terlampir dari milis ini juga (sudah ditambahkan baris code
> "copypastevalue" arahan Pak HK) ..
>
> Problemnya begini , Jika misalnya :
>
> 1. pada sheet 1 , di kolom A diberi Conditional Formatting
> 2. pada sheet 2 , di kolom C diberi warna sell kuning di beberapa data
> 3. pada sheet gabung , dibuat excel table untuk wadah
>
>
> setelah diproses gabung , dalam sheet gabung terdapat Conditional
> Formatting (sesuai di sheet 1) dan warna sell (sesuai sheet 2).
> keinginannya hanya "copy value" . ternyata hasilnya masih terdapat CF dan
> warna sell seperti contoh terlampir ..
>
> terkadang , setelah proses tombol hapus, lalu proses gabung lagi maka,
> pada sheet gabung, format excel table menjadi hilang (jadinya range) ..
>
> mohon solusi atas permasalahan di atas ..
>
>
> Terima kasih
>
> Ari
>
>
> On Wednesday, March 22, 2017 7:46 PM, "lkm jktind [email protected]
> [belajar-excel]" <[email protected]> wrote:
>
>
>
> Pak cheivory_bridge.
>
> tolog lampirkan contoh file nya .
> yang lengkap ya.
>
>
>
> Salam
>
>
>
> Lukman.
>
>
>
> NB : Ada waktu luang dikit .
>
>
>
>
> On Wed, Mar 22, 2017 at 3:26 PM, hendrik karnadi [email protected]
> [belajar-excel] <[email protected]> wrote:
>
>
> Coba tambahkan 2 perintah berikut ini:
>
> Set rngGabung = Sheets("Gabung").Range("A2"). CurrentRegion
>
> rngGabung.Value = rngGabung.value
>
> seblm Application.CutCopyMode = False
>
> Salam,
> HK
>
>
> Sent from Yahoo Mail on Android
> <https://overview.mail.yahoo.com/mobile/?.src=Android>
>
>
> Yth. Pakar Excel
>
> Mohon bantuannya ,
>
> Saya dapat barisan code macro berikut (dari milis ini juga) :
>
> Sub Gabung()
> Dim rngGabung As Range
> Dim sh As Worksheet
> Dim rngsh As Range
> Dim brs As Long
> Set rngGabung = Sheets("Gabung").Range("A2"). CurrentRegion
> Set rngGabung = rngGabung.Offset(1, 0).Resize(rngGabung.Rows.Count - 1)
> Application.ScreenUpdating = False
>
> rngGabung.ClearContents
>
> For Each sh In Worksheets
> If sh.Name <> "Gabung" Then
> If sh.Name <> "nim_nama" Then
> If sh.Name <> "a2" Then
> If sh.Name <> "pivot_table" Then
> Set rngsh = sh.Range("A2").CurrentRegion
> Set rngsh = rngsh.Offset(1,
> 0).Resize(rngsh.Rows.Count - 1)
> brs = WorksheetFunction.CountA(
> Sheets("Gabung").Columns("A:A" ))
> rngsh.Copy Sheets("Gabung").Range("A" & brs + 1)
> End If
> End If
> End If
> End If
> Next sh
>
> Application.CutCopyMode = False
> Application.ScreenUpdating = True
> End Sub
>
> Barisan code macro tersebut jika diterapkan hasilnya "copy paste" ..
> keinginan saya bagaimana biar hasilnya "copy VALUE" saja, mohon bantuannya
> merevisi barisan code macro tersebut ..
>
> Terima kasih
>
> ari
>
>
>
>
>
>