Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel application.doubleclick_Excel_Vba - Fatal编程技术网

Excel application.doubleclick

Excel application.doubleclick,excel,vba,Excel,Vba,我需要双击一个单元格。看起来它正在被编辑。这是必要的,因为我正在将日期粘贴到单元格。但它没有被格式化为日期。因此,如果我双击它,它将被格式化为日期。(这是一项手动工作,我需要它自动执行。) 我尝试使用application.doubleclick方法 Cells(i, "AW").Select Application.doubleclick Cells(i, "AX").Select 例如,如果日期i为“26-08-19 23:45”,当我双击它时,它将变为“26-08-2019 23:45:

我需要双击一个单元格。看起来它正在被编辑。这是必要的,因为我正在将日期粘贴到单元格。但它没有被格式化为日期。因此,如果我双击它,它将被格式化为日期。(这是一项手动工作,我需要它自动执行。)

我尝试使用application.doubleclick方法

Cells(i, "AW").Select
Application.doubleclick
Cells(i, "AX").Select

例如,如果日期i为“26-08-19 23:45”,当我双击它时,它将变为“26-08-2019 23:45:00”这里有一个建议。使用调用的验证函数检查输入Textbox6的值是否为有效日期,如果是,则用该日期更新单元格。下面是您可能需要调整的示例代码。如果您在多个文本框中收集大量日期,则需要使用多个
\u Change
函数,其中一个r每个框,或者在单击按钮或类似用户操作后一次性执行验证:

Private Function CheckDate(tb As MSForms.TextBox) As Variant
    CheckDate = ""
    Dim dd As Date
    On Error Resume Next
    dd = CDate(tb.Text)
    If Err.Number <> 0 Then
        tb.BackColor = vbYellow
    ElseIf Year(dd) < 1900 Then
        tb.BackColor = vbYellow
    Else
        tb.BackColor = vbWhite
        CheckDate = dd
    End If
End Function

Private Sub TextBox6_Change()
    Me.Range("D9").Value = CheckDate(TextBox6)
End Sub
Private函数CheckDate(tb作为MSForms.TextBox)作为变量
CheckDate=“”
日期
出错时继续下一步
dd=CDate(tb.Text)
如果错误号为0,则
tb.BackColor=vbYellow
其他年份(dd)<1900年
tb.BackColor=vbYellow
其他的
tb.BackColor=vbWhite
CheckDate=dd
如果结束
端函数
专用子文本框6_Change()
Me.Range(“D9”).Value=检查日期(TextBox6)
端接头
空盒子:

输入的有效日期:

支持多种日期格式


如果从文本框粘贴,请尝试立即强制将其格式化为正确的日期:

格式(Sheet1.TextBox6.Value,“dd-mm-yyy-hh:mm:ss”)

试试这个
单元格(i,“AW”)。公式=单元格(i,“AW”)。值听起来像是一个奇怪的解决办法。您是否尝试过调整单元格的格式?如果您使用代码粘贴单元格,请尝试使用
格式(或
文本
用于公式)将其包装起来语句以使其正确显示。这两种方法都比让Excel双击并自行排序更好。如果您提供有关粘贴到单元格中的数据来自何处以及日期字符串的格式的更多信息,这将有所帮助。您能进一步解释吗?也许您可以提供已粘贴到单元格中的代码将实际粘贴到问题所在的单元格中。我尝试了格式化方法,但它不起作用。唯一可以更改它的方法是双击它。我以前发布过一篇关于使用
单元格(i,“AW”)将值粘贴到文本框中的文章.value=textbox6.value
您是否尝试了我的建议?您需要在粘贴代码后粘贴该行。。。