2016-06-03 3 views
0

일년의 모든 날짜를 요일로 변환하는 vba 코드를 작성해야합니다 (예 : 월요일, 화요일, 수요일 ... 일요일과 일주일 내 모든 요일의 값. 월요일은 문자열 형식이어야합니다. 나는 .NumberFormat 기능을 사용하여 시도Excel VBA를 사용하여 일년 중 모든 날짜를 여러 문자열로 변환

http://i.imgur.com/V9LyxpG.png

(이미지 삽입 참조)하지만이 표시된 값이 정확하지만 형식이 날짜 형식에서 여전히 때문에 작동하지 않습니다 (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 문자열 값을 표시한다 "월요일"날짜가 아닌 날짜에 변환 itself.The 이유를 따라 "화요일"등 아래는 제가 작성한 코드는 그것을 문자열로 변환하면 SUMIF 함수로 나중에 모든 월요일, 화요일의 총 강우량을 계산할 수 있습니다.

누구든지 도움이 될 수 있으면 감사드립니다. 고맙습니다.

답변

2

다음과 같이 시도해보십시오. 그것은 열 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 
관련 문제