C7:K35
我想根據 Cell 中的值更改一系列單元格的格式A1
。
當A1
= 1 時,數字格式應為"_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
當A1
<> 1 時,數字格式應為"_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
我知道這需要使用 VBA 來完成case
,因為我之前在另一個論壇上提問時已經這樣做過,但我再也找不到這個問題了。
我猜它會是這樣的:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
case when Range("A1").value = 1 then
Range("C7:K32").Select
Selection.NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
Else
Range("C7:K32").Select
Selection.NumberFormat = "_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
End If
End Sub
答案1
Select
除了聲明之外不需要任何東西Select Case
。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
select case Range("A1").value
case 1
Range("C7:K32").NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
case Else
Range("C7:K32").NumberFormat = "_-$* #,##0_-;-$* #,##0_-;_-$* ""-""??_-;_-@_-"
end select
End If
End Sub