2013-11-09 37 views
1

我有一个用户窗体使用OWC Spreadsheet 11.0来显示名为“results”的excel工作表。步骤可以从这个链接找到:https://stackoverflow.com/questions/17406319/display-a-part-of-an-excel-sheet-on-a-userform-using-vba/17407415#17407415如何在VBA中格式化日期和时间?

现在我遇到了一个问题,日期,时间(开始,结束)都转换为数字。因此,是否有办法锁定工作表本身的格式或可以相同方式工作的VBA代码。

这就是图像看起来像

enter image description here

+0

其中的日期和时间值已从?你可以发布VBA代码 – Chelseawillrecover

回答

1

您需要与相关的格式来格式化相关列。例如

Private Sub CommandButton1_Click() 
    Me.Spreadsheet1.Cells.Range("A1:B3").Value = _ 
    ThisWorkbook.Worksheets("Sheet1").Range("A1:B3").Value 

    Spreadsheet1.Columns("B:B").NumberFormat = "m/d/yyyy" 
End Sub 

enter image description here

+0

嗨Siddharth Rout 我已经试过你的方法,但遇到了运行时错误'9':下标超出范围。我的列B条目可能多达30行。请指教。谢谢。 –

+0

有多少行有数据在那里没关系。以上代码适用于整个列。您的电子表格控件的名称是什么? –

0

实施例1:

Range("").NumberFormat = "dd-mm-yyyy" 

或 “日/月/年” 或任何其他组合。

实施例2:

Range("").Value = Format(Range("").Value, "dd-mm-yyyy") 

或 “日/月/年” 或任何其他组合。