我有一个日期列,其中包含混合格式的日期.例如:
A
1990年3
月21日 03/21/1990
所以,基本上一列中有两种不同的格式:dd.mm.yyyy和mm/dd/yyyy.我正在尝试编写一个VBA脚本来更改列中所有日期的格式yyyy-mm-dd.这就是我到目前为止所得到的:
Sub changeFormat()
Dim rLastCell As Range
Dim cell As Range, i As Long
Dim LValue As String
i = 1
With ActiveWorkbook.Worksheets("Sheet1")
Set rLastCell = .Range("A65536").End(xlUp)
On Error Resume Next
For Each cell In .Range("A1:A" & rLastCell.Row)
LValue = Format(cell.Value, "yyyy-mm-dd")
.Range("B" & i).Value = LValue
i = i + 1
Next cell
On Error GoTo 0
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
我知道这不是优雅的代码,但我是VBA的初学者所以请原谅我.该代码的问题在于它只是将未更改的A列重写为B列,当我将Format函数中的参数更改yyyy-mm-dd为dd/mm/yyyy有效时,但仅适用于格式中的日期mm/dd/yyyy,并保持 …
我想在Excel VBA中使用ADODB处理.csv文件.我尝试在网上找到一些字符串,但它们似乎都没有用.我正在使用以下文件路径:
strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")
Run Code Online (Sandbox Code Playgroud)
然后我strVFile作为参数传递给sub objReport.Load strVFile.子标题是:Public Sub Load(ByVal strFilename As String).
然后我尝试使用字符串进行ADODB连接:
pconConnection.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFilename & _
";Extended Properties=""text;HDR=Yes;FMT=Delimited(;)"";Persist Security Info=False"
pconConnection.Open
Run Code Online (Sandbox Code Playgroud)
当我运行宏并选择CSV文件时,出现错误,说"给定路径不是有效路径".我究竟做错了什么?
编辑(代码),
模块mdlReport
Public Sub Report()
Dim objReport As clsReport
MsgBox "Please select .csv file", vbInformation + vbOKOnly
strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")
If strVFile <> False Then
Set objReport = New clsReport
objReport.Load strVFile
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
类clsReport
Private pconConnection As ADODB.Connection …Run Code Online (Sandbox Code Playgroud)