Vba: jak ustawić wartość komórki w innym arkuszu


Aby ustawić wartość komórki w innym arkuszu, możesz użyć następujących metod w VBA:

Metoda 1: Ustaw wartość komórki w innym arkuszu

 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

To konkretne makro ustawi wartość komórki A2 w Arkuszu 2 na równą wartości komórki A2 w Arkuszu 1 .

Metoda 2: Ustaw wiele wartości komórek w innym arkuszu

 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

To konkretne makro ustawi wartość każdej komórki w zakresie A2:A11 w Arkuszu2 na równą wartości każdej komórki w zakresie A2:A11 w Arkuszu1 .

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład 1: Ustaw wartość komórki w innym arkuszu

Załóżmy, że mamy następujący arkusz o nazwie Arkusz1 , który zawiera nazwy różnych drużyn koszykarskich:

Załóżmy, że mamy Arkusz2 , który zawiera tylko jeden wiersz nagłówka:

Możemy utworzyć następujące makro, aby ustawić wartość komórki A2 w Arkuszu 2 na równą wartości komórki A2 w Arkuszu 1 :

 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

Kiedy uruchomimy to makro, możemy zobaczyć, że wartość komórki A2 w Arkuszu 2 jest teraz ustawiona na „Mavs”, co odpowiada wartości komórki A2 w Arkuszu 1 :

Przykład 2: Ustaw wiele wartości komórek w innym arkuszu

Załóżmy, że chcemy ustawić wartość każdej komórki w zakresie A2:A11 w Arkuszu2 tak, aby była równa każdej komórce w zakresie A2:A11 w Arkuszu1 .

W tym celu możemy utworzyć następujące makro:

 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

Kiedy uruchomimy to makro, możemy zobaczyć, że wartości w zakresie A2:A11 w Arkuszu2 są teraz ustawione na takie same, jak wartości w zakresie A2:A11 w Arkuszu1 :

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak znaleźć ostatnio używaną linię
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: Jak policzyć liczbę użytych kolumn

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *