Excel - Makro untuk menyalin / menempel rentang yang dipilih

Isu

Saya memiliki ringkasan data berdasarkan bulan dalam satu lembar dan data mentah di lembar lain. Alih-alih membuat beberapa lembar kerja untuk data mentah saya untuk setiap bulan, saya ingin menghapus data bulan sebelumnya dan ganti dengan data baru. Untuk melakukan ini, saya harus menyalin rumus yang membuat ringkasan ke kolom lain (untuk bulan baru) dan kemudian menyalin dan menempelkan nilai data ringkasan bulan ini (jadi setelah sumber data mentah telah berubah itu tidak akan mengubah saya nilai di sana).

Contoh

 ABCD Jan Feb Mar Apr 1 5 6 7 

Saya ingin hasil akhir saya terlihat seperti (yaitu salin dari A3: A6 dan tempel ke B3. Lalu bulan depan akan menyalin dari B3: B6 dan tempel ke C3, dan sebagainya).

 ABCD Jan Feb Mar Apr 1 1 5 5 6 6 7 7 

Jan dan Feb adalah sama saat ini karena salin dan tempel akan terjadi sebelum data mentah baru diganti.

Semoga ini masuk akal. Saya memiliki sedikit pengetahuan dalam menulis VB tetapi dapat mengelola untuk membaca dan memahami yang sederhana. Adakah yang bisa membantu saya dengan makro yang akan melakukan ini secara otomatis?

Larutan

Makro ini menggunakan kotak input untuk menanyakan bulan apa yang Anda perbarui. Gunakan nilai numerik alih-alih mengetik di bulan. Contoh: Jan. = 1, Feb. = 2, Mar. = 3. Saya berasumsi Anda tidak ingin memperbarui Januari sehingga makro akan keluar jika 1 diketik dalam kotak input (kecuali jika diperbarui dari Desember maka kita dapat mengubah saya t).

Semoga ini membantu.

 Sub Update_Month () Dim jawaban Sebagai Varian Dim jj = 3 answer = InputBox ("Bulan apa yang Anda perbarui?" & VbCrLf & _ "Mis: Januari = 1, Februari = 2, Maret = 3, dll") Pilih Jawaban huruf Kasus 1 Keluar Sub Kasus 2 Untuk j = 3 Sampai 6 Rentang ("B" & j) = Rentang ("A" & j) Berikutnya j Kasus 3 Untuk j = 3 Sampai 6 Rentang ("C" & j) = Rentang ( "B" & j) Selanjutnya j Kasus 4 Untuk j = 3 Sampai 6 Rentang ("D" & j) = Rentang ("C" & j) Selanjutnya j Kasus 5 Untuk j = 3 Sampai 6 Rentang ("E" & j ) = Rentang ("D" & j) Selanjutnya j Kasus 6 Untuk j = 3 Sampai 6 Rentang ("F" & j) = Rentang ("E" & j) Berikutnya j Kasus 7 Untuk j = 3 Sampai 6 Rentang (" G "& j) = Rentang (" F "& j) Selanjutnya j Kasus 8 Untuk j = 3 Sampai 6 Rentang (" H "& j) = Rentang (" G "& j) Selanjutnya j Kasus 9 Untuk j = 3 Ke 6 Rentang ("I" & j) = Rentang ("H" & j) Berikutnya j Kasus 10 Untuk j = 3 Sampai 6 Rentang ("J" & j) = Rentang ("I" & j) Selanjutnya j Kasus 11 Untuk j = 3 Hingga 6 Rentang ("K" & j) = Rentang ("J" & j) Berikutnya j Kasus 12 Untuk j = 3 Sampai 6 Rentang ("L" & j) = Rentang ("K" & j) Berikutnya j End Pilih End Sub 

Catat itu

Terima kasih kepada WutUp WutUp untuk tip ini di forum]

Artikel Sebelumnya Artikel Berikutnya

Tips