我正在嘗試做什麼; 我想要一個日曆,當約會完成時,我可以把約會添加到我的約會收取的金額作爲收入,也可以添加當我購買耗材的一天,我買他們多少,並將其作爲開支。然後,將這些信息(收入/費用)填充到另一個標籤中,這些標籤可以打印出來並納入會計覈算。擅長使用VBA在日曆中輸入日期
我正在處理日曆部分,但在出現在正確列中的日子有問題。這些日子裏,每個箱子都有3列,這樣我就可以稍後添加數據。我可以在日曆中填充日期,但我需要它們每次跳過兩列,但它們不是。
我正在包括代碼和它在這個時候出現的剪輯。
Sub CreateCalendar()
Dim csheet As Worksheet
Set csheet = ThisWorkbook.Sheets("Sheet2")
selDate = [b1]
fMon = DateSerial(Year(selDate), Month(selDate), 1)
lMon = CDate(Application.WorksheetFunction.EoMonth(fMon, 0))
stRow = 4
'clear last cal
Rows(4).ClearContents
Rows(10).ClearContents
Rows(16).ClearContents
Rows(22).ClearContents
Rows(28).ClearContents
Rows(34).ClearContents
'determine what weekday 1st is. . .
If Weekday(fMon) = 1 Then
stCol = 4
ElseIf Weekday(fMon) = 4 Then
stCol = 7
ElseIf Weekday(fMon) = 7 Then
stCol = 10
ElseIf Weekday(fMon) = 10 Then
stCol = 13
ElseIf Weekday(fMon) = 13 Then
stCol = 16
ElseIf Weekday(fMon) = 16 Then
stCol = 19
ElseIf Weekday(fMon) = 19 Then
stCol = 22
End If
For x = 1 To Day(lMon)
If FirstT = Empty Then
csheet.Cells(stRow, stCol) = fMon
FirstT = 1
Else
fMon = fMon + 1
csheet.Cells(stRow, stCol) = fMon
End If
If stCol = 22 Then
stCol = 4
stRow = stRow + 8
Else
stCol = stCol + 1
End If
Next x
End Sub
你是什麼意思?「我需要他們每次跳過兩列」? –
如果我運行你的代碼(實際上需要改變以獲得一天),使用3/1/2017的日期,然後它將第4行(col GV)中的1至16,然後第12行中的17-31 col DR)。你真的想要它超過7天嗎? –
抱歉張貼了錯誤的圖片。它只會是7天,但我需要第2天,第4天和第3天是第7天,等等。 –