求vba模块,excel把所有日期单元格转换为yyyy-mm-dd文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求vba模块,excel把所有日期单元格转换为yyyy-mm-dd文本相关的知识,希望对你有一定的参考价值。

format(“yyyy-mm-dd”),要求所有的工作表都转换

Sub 将所有列全部转换为文本()
t=timer
'Cells(Rows.Count, 1).End(xlUp).Row 获取第一列最后一个非空单元格的
行号
s = Cells(1, Columns.Count).End(xlToLeft).Column '获取第一行最后一
个非空单元格的列号
For i = 1 To s
Columns(i).Select
Selection.TextToColumns Destination:=Cells(1, i),
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote,
ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False,
Other:=False, FieldInfo _
:=Array(1, 2), TrailingMinusNumbers:=True
Next i
MsgBox "一共用时:" & Format(Timer - t, "#0.0000") & " 秒", , "友
情提示!!"'//提示
End Sub追问

提示编译错误

参考技术A Sub Macro1()
'
' Macro1 Macro
'

'
Range("表1[[#Headers],[部门排名]]").Select
ActiveWorkbook.Worksheets("工作表1").ListObjects("表1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("工作表1").ListObjects("表1").Sort.SortFields.Add Key:= _
Range("表1[[#All],[部门排名]]"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("工作表1").ListObjects("表1").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("表1[[#Headers],[部门代号]]").Select
ActiveWorkbook.Worksheets("工作表1").ListObjects("表1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("工作表1").ListObjects("表1").Sort.SortFields.Add Key:= _
Range("表1[[#All],[部门代号]]"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("工作表1").ListObjects("表1").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
参考技术B 代码类似于
Range("A1")=Format(Range("A1"),"yyyy-mm-dd")追问

是的,但是如何应用到所有单元格?

excel 用VBA将所有单元格内容全部转换为文本

Sub 将所有列全部转换为文本()

‘Cells(Rows.Count, 1).End(xlUp).Row 获取第一列最后一个非空单元格的行号
s = Cells(1, Columns.Count).End(xlToLeft).Column ‘获取第一行最后一个非空单元格的列号
For i = 1 To s
    Columns(i).Select
    Selection.TextToColumns Destination:=Cells(1, i), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 2), TrailingMinusNumbers:=True
Next i
End Sub










以上是关于求vba模块,excel把所有日期单元格转换为yyyy-mm-dd文本的主要内容,如果未能解决你的问题,请参考以下文章

求EXCEL VBA代码。单元格输入内容保存后自动锁定有内容单元格。下次打开后不可编辑。

vba把一个带时间的日期转为不带时间的日期

EXCEl表格里如何输入自定义格式的日期

vba中怎么遍历单元格中所有字符串

在EXCEL中如何将日期格式转换,例如把2012/09/01变换成2012-09-01?

excel 用VBA将所有单元格内容全部转换为文本