我有以下代码,提示用户点击单元格值。
Dim sDate As Range
On Error Resume Next
Application.DisplayAlerts = False
Set sDate = Application.InputBox(Prompt:= _
"Please select start date.", _
Title:="Start Date", Type:=8)
On Error GoTo 0
Application.DisplayAlerts = True
If sDate Is Nothing Then
Exit Sub
Else
sDate.Font.Bold = True
End If
End Sub
输入框但是一旦选择了一个值就可以说比如我点击b3会显示$ b $ 3。我想显示$ b $ 3内的值。例如,如果17-Jun在$ b $ 3内,它应该在输入框中显示17-Jun而不是$ b $ 3.
答案 0 :(得分:2)
另一个答案是使用UserForm。
创建用户表单,例如:
注意:“确定”按钮名为“确定”,白色文本框为“日期框”
对于表单代码,请使用:
Private Sub Ok_Click()
ActiveCell.Font.Bold = True
UserForm1.Hide
End Sub
然后在工作表模块中,输入:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 Then UserForm1.dateBox.Value = Target.Value
End Sub
Sub bold_Date2()
UserForm1.Show vbModeless
End Sub
然后运行bold_date2()
:
答案 1 :(得分:0)
我了解您需要从用户那里获取输入,并假设只提供单个单元格。并且您需要检索所选单元格的值并将其字体样式设置为粗体。
您可以通过首先获取选定的单元格引用来实现此目的,使用Font
属性设置任何字体样式并读取其Value
属性以获取其内容。
Set sDate = Application.InputBox(Prompt:= _
"Please select start date.", _
Title:="Start Date", Type:=8)
sDate.Font.Bold = True
MsgBox ("Selected cell's value is: " & sDate.Value)
答案 2 :(得分:0)
这对你有什么用?
Sub bold_Date()
Dim sDate As Range
On Error Resume Next
Application.DisplayAlerts = False
Set sDate = Application.InputBox(Prompt:="Please select start date.", Title:="Start Date", Type:=8)
If sDate.Cells.Count > 1 Then Set sDate = sDate.Cells(1, 1)
MsgBox ("Date is: " & sDate.Text)
Application.DisplayAlerts = True
If sDate Is Nothing Then
Exit Sub
Else
sDate.Font.Bold = True
End If
End Sub
选择一个范围后,它会在消息框中显示日期。此外,它还检查多个单元格。如果选择了多个单元格,则会使用该范围中的第一个单元格作为新的sDate
。