Vba: başka bir sayfada bir hücrenin değeri nasıl ayarlanır
Hücre değerini başka bir sayfada ayarlamak için VBA’da aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Başka bir sayfada hücre değeri ayarlama
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Bu özel makro, Sayfa2’deki A2 hücresinin değerini, Sayfa1’deki A2 hücresinin değerine eşit olacak şekilde ayarlayacaktır.
Yöntem 2: Başka Bir Sayfada Birden Çok Hücre Değerini Ayarlama
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Bu özel makro, Sayfa2’deki A2:A11 aralığındaki her hücrenin değerini, Sayfa1’deki A2:A11 aralığındaki her hücrenin değerine eşit olacak şekilde ayarlayacaktır.
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Başka bir sayfada hücre değeri ayarlama
Farklı basketbol takımlarının adlarını içeren Sayfa1 adlı aşağıdaki sayfaya sahip olduğumuzu varsayalım:
Ve yalnızca bir başlık satırı içeren Sayfa2’ye sahip olduğumuzu varsayalım:
Sayfa2’nin A2 hücresinin değerini Sayfa1’in A2 hücresinin değerine eşit olacak şekilde ayarlamak için aşağıdaki makroyu oluşturabiliriz:
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Bu makroyu çalıştırdığımızda, Sayfa2’nin A2 hücresinin değerinin artık Sayfa1’in A2 hücresinin değeriyle eşleşen “Mavs” olarak ayarlandığını görebiliriz:
Örnek 2: Başka Bir Sayfada Birden Çok Hücre Değerini Ayarlama
Sayfa2’nin A2:A11 aralığındaki her hücrenin değerini, Sayfa1’in A2:A11 aralığındaki her hücreye eşit olacak şekilde ayarlamak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Bu makroyu çalıştırdığımızda Sheet2’nin A2:A11 aralığındaki değerlerin artık Sheet1’in A2:A11 aralığındaki değerlerle aynı olacak şekilde ayarlandığını görebiliriz:
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Son kullanılan satırı nasıl bulabilirim?
VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: Kullanılan sütunların sayısı nasıl sayılır?