String 使用Excel VBA将一年中的所有日期转换为多个字符串

String 使用Excel VBA将一年中的所有日期转换为多个字符串,string,excel,date,vba,String,Excel,Date,Vba,我必须编写一个vba代码,将一年中的所有日期转换为一周中的天,例如星期一、星期二、星期三……星期天和一周中所有天的值(例如星期一)必须采用字符串格式。(请参见插入的图像) 我尝试使用.NumberFormat函数,但它不起作用,因为尽管显示的值是正确的(请查看F10的公式栏),但格式仍然是日期格式。以下是我编写的代码: Sub convertdate() Range("A7:A371").Copy 'copy all the dates throughout the year' Rang

我必须编写一个vba代码,将一年中的所有日期转换为一周中的天,例如星期一、星期二、星期三……星期天和一周中所有天的值(例如星期一)必须采用字符串格式。(请参见插入的图像)

我尝试使用.NumberFormat函数,但它不起作用,因为尽管显示的值是正确的(请查看F10的公式栏),但格式仍然是日期格式。以下是我编写的代码:

Sub convertdate()

Range("A7:A371").Copy 
'copy all the dates throughout the year'

Range("F7:F371").PasteSpecial xlPasteFormulasAndNumberFormats 
'paste it into F column'

Worksheets("Sheet1").Range("F7:F371").NumberFormat = "dddd" 
'convert the dates into days'

Sum1 = Application.SumIf(Range("F7:F371"), "Monday", Range("B7:B371")) 
'example of calculating the total rainfall of all Mondays throughout the year'

Worksheets("Sheet1").Range("G22").FormulaArray = Sum1

End Sub
单元格F7:F371中的公式栏应显示字符串值“星期一”、“星期二”等,具体取决于日期,而不是日期本身。将其转换为字符串的原因是,以后可以在SUMIF函数中使用它来计算所有星期一、星期二等的总降雨量


如果有人能帮忙,我将不胜感激。谢谢。

试试这样的。它将循环遍历A列中的所有日期(从第7行开始),并将相关的工作日名称放入F列:

Sub test()

Dim i As Long
Dim lRow As Long

    With ActiveSheet

        lRow = .Cells(.Rows.Count, 1).End(xlUp).Row

        For i = 7 To lRow

            .Cells(i, 6).Value = WeekdayName(Weekday(.Cells(i, 1).Value, 1), False, 1)

        Next i

    End With

End Sub

试试这样的。它将循环遍历A列中的所有日期(从第7行开始),并将相关的工作日名称放入F列:

Sub test()

Dim i As Long
Dim lRow As Long

    With ActiveSheet

        lRow = .Cells(.Rows.Count, 1).End(xlUp).Row

        For i = 7 To lRow

            .Cells(i, 6).Value = WeekdayName(Weekday(.Cells(i, 1).Value, 1), False, 1)

        Next i

    End With

End Sub
公式可以做到这一点。
在F7单元格中输入
=文本(A7,“dddd”)
,然后向下拖动。
这将格式化日期,以将全天名称显示为字符串。
一个公式可以做到这一点。
在单元格F7中输入
=文本(A7,“dddd”)
并向下拖动。
这将格式化日期,以将全天名称显示为字符串。

我需要在excel vba中使用它。无论如何,我还是很感激!我需要它在excel vba中。无论如何,我还是很感激!