Bagaimana cara memasukkan nilai ke dalam sel menggunakan vba?
Catatan Penting
- Properti value dapat digunakan dua arah (Anda dapat membaca dan menulis nilai dari sel).
- Anda dapat merujuk ke sel menggunakan Objek Sel dan Rentang untuk menetapkan nilai sel (untuk mendapatkan dan mengedit juga).
Tetapkan nilai sel
Untuk menetapkan nilai sel, Anda perlu menggunakan properti “Nilai”, lalu Anda perlu menetapkan nilai yang ingin Anda tetapkan. Di sini saya telah menggunakan beberapa contoh untuk membantu Anda memahami hal ini.
1. Masukkan nilai dalam sel
Misalkan Anda perlu memasukkan nilai “Selesai” di sel A1. Dalam hal ini kodenya akan menjadi seperti di bawah ini:
Range("A1").Value = "Done"
Seperti yang Anda lihat, pertama-tama saya menetapkan alamat sel tempat saya ingin menambahkan nilai, lalu properti nilai. Pada akhirnya, saya menetapkan nilai “Selesai” menggunakan tanda sama dengan “=” dalam tanda kutip ganda.
Anda juga dapat menggunakan properti “Sel”, seperti kode berikut.
Cells(1, 1).Value = "Done"
Kode di atas juga mengacu pada sel A1.
Selain itu, ada cara lain yang bisa Anda gunakan yaitu dengan tidak menggunakan properti nilai dengan langsung memberikan nilai ke sel.
Cells(1, 1) = "Done"
Namun disarankan untuk menggunakan properti value untuk memasukkan nilai ke dalam sel.
Sekarang misalkan Anda ingin memasukkan nomor ke dalam sel. Dalam hal ini, Anda tidak perlu menggunakan tanda kutip ganda. Anda dapat menulis kodenya sebagai berikut.
Range("A1") = 99
Anda juga dapat DATE dan NOW ( Fungsi VBA ) untuk memasukkan tanggal atau stempel waktu ke dalam sel menggunakan kode VBA.
Range("A1").Value = Date Range("A2").Value = Now
Dan jika Anda ingin memasukkan nilai pada sel yang aktif, kode yang Anda perlukan adalah seperti:
ActiveCell.Value = Date
2. Menggunakan kotak masukan
Jika Anda ingin pengguna menentukan nilai untuk dimasukkan ke dalam sel, Anda bisa menggunakan kotak input. Misalkan Anda ingin memasukkan nilai di sel A1, kodenya akan terlihat seperti ini:
Range("A1").Value = _ InputBox(Prompt:="Type the value you want enter in A1.")
Dalam kode di atas, nilai sel A1 ditetapkan ke nilai yang dikembalikan oleh kotak input yang mengembalikan nilai yang dimasukkan oleh pengguna.
3. Dari sel lain
Anda juga dapat mengatur nilai sel menggunakan nilai sel lain. Misalkan Anda ingin menambahkan nilai ke sel A1 dari sel B1, kodenya adalah:
Range("A1") = Range("B1").Value
Anda juga bisa merujuk ke sel B1 tanpa menggunakan properti nilai.
Range("A1") = Range("B1")
4. Tetapkan nilai di seluruh rentang
Bayangkan Anda ingin memasukkan nilai dalam beberapa sel atau rentang sel, bukan satu sel, dalam hal ini Anda perlu menulis kode seperti di bawah ini:
Range("A1:A10").Value = Date Range("B1, B10").Value = Now
Di baris kode pertama Anda memiliki seluruh rentang dari sel A1 hingga A10, dan di baris kedua ada dua sel B1 dan B10.
Dapatkan nilai sel
Seperti yang saya katakan, Anda bisa menggunakan properti value yang sama untuk mendapatkan nilai sel.
1. Dapatkan nilai ActiveCell
Misalkan Anda ingin mendapatkan nilai sel yang aktif, dalam hal ini Anda perlu menggunakan kode berikut.
ActiveCell.Value = Range("A1")
Pada kode di atas, Anda menggunakan properti nilai dengan sel aktif dan kemudian menetapkan nilai tersebut ke sel A1.
2. Tetapkan ke variabel
Anda juga bisa mendapatkan nilai dari sel dan kemudian menetapkannya ke variabel .
Sekarang pada kode di atas Anda memiliki variabel “i” yang memiliki tipe data tanggal. Di baris kedua kode, nilai sel A1 ditetapkan ke variabel.
3. Tampilkan di MsgBox
Sekarang bayangkan Anda ingin menampilkan nilai sel A1 menggunakan kotak pesan . Dalam hal ini kodenya akan seperti di bawah ini.
MsgBox Range("A1").Value
Pada kode di atas, kotak pesan akan mengambil nilai dari sel A1 dan memperlihatkannya kepada pengguna.
Ubah nilai sel
Anda juga dapat membuat perubahan pada nilai sel, dan di sini saya telah membagikan beberapa contoh yang dapat membantu Anda memahami hal ini.
1. Tambahkan nomor ke nomor yang sudah ada
Katakanlah jika Anda ingin menambahkan satu ke nomor yang Anda miliki di sel A1, Anda dapat menggunakan kode berikut.
Range("A1").Value = Range("A1").Value + 1
Kode di atas memberikan nilai pada sel A1 dengan mengambil nilai sel A1 itu sendiri dan menambahkan satu nilai ke dalamnya. Namun Anda juga bisa menggunakan VBA IF THEN ELSE untuk menulis kondisi yang berubah hanya jika ada angka di dalam sel .
If IsNumeric(Range("A1").Value) Then Range("A1").Value = Range("A1").Value + 1 End If
2. Hapus karakter pertama dari sel
Sekarang kode berikut menghapus karakter pertama dari nilai sel dan memberikan sisa nilai ke sel.
Range("A1").Value = Right(Range("A1").Value, Len(Range("A1").Value) - 1)