我是使用Excel VBA的新手,我遇到了这个问题。
我希望我的userform根据用户选择的日期在列中自动填充动态范围。当"创建"单击按钮,同时,在工作表的一列上填充日期,在其旁边的另一列上,还会根据编码的日期填充月份名称。你认为它有可能吗?非常感谢您的努力。谢谢!
Private Sub CommandButton1_Click()
If Week <> "" Then
Dim ws As Worksheet
Dim LR1 As Long
Dim LR3 As Long
Dim LR4 As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
' get the last row from columns that has a value
LR1 = ws.range("A" & ws.Rows.Count).End(xlUp).Row
LR3 = ws.range("C" & ws.Rows.Count).End(xlUp).Row + 1
LR4 = ws.range("D" & ws.Rows.Count).End(xlUp).Row + 1
' use the last row to determine how far down to extend the formula
ws.range("D" & LR4 & ":D" & LR1).Value = Me.Week.Value
ws.range("C" & LR3 & ":C" & LR1).Value = Me.DTPicker1.Value
Else
MsgBox "Please fill all fields!"
End If
Unload Me
End Sub
答案 0 :(得分:1)
我不确定我是否正确了解情况,但也许您可以使用&#34; .formula = application.worksheetfunction(&#34; = month(...)&#填写第二列34)
答案 1 :(得分:0)
要在B列中添加月份名称,请将其添加到您的代码中:
Dim LR2 As Long
' ...
LR2 = ws.Range("B" & ws.Rows.Count).End(xlUp).Row + 1
' ...
ws.Range("B" & LR2 & ":B" & LR1).FormulaR1C1 = "=TEXT(R[0]C[1], ""mmm"")"
这实际上会在B列中插入一个公式,表示旁边单元格的月份名称。