我对一些Excel visual basic有点困难.特别是我想根据单元格的值更改列的格式.这是我到目前为止所拥有的.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("$b$1") Then
If Range("$b$1") = "Date" Then
Range("d:d").NumberFormat = "m/d/yyyy"
ElseIf Range("$b$1") = "Number" Then
Range("d:d").NumberFormat = "#,##0.00"
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
我是使用Target功能的新手,所以任何建议都会有所帮助.
我认为你不需要使用Target,只需要检查内部的块就足够了.像这样;
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B1") = "Date" Then
Range("D:D").NumberFormat = "m/d/yyyy"
ElseIf Range("B1") = "Number" Then
Range("D:D").NumberFormat = "#,##0.00"
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
然后将B1中的值更改为"日期"或"数字".