Vba 如何在范围内插入下一个工作日的数据
我需要更改“投资组合+下一个工作日数据”范围内所有单元格的值。例如,今天我需要将范围的值设置为“portfolio05042015”。如你所见,我已经设置了我的范围Vba 如何在范围内插入下一个工作日的数据,vba,excel,Vba,Excel,我需要更改“投资组合+下一个工作日数据”范围内所有单元格的值。例如,今天我需要将范围的值设置为“portfolio05042015”。如你所见,我已经设置了我的范围 Sub SelectNonBlanks() Dim rng As Range Set rng = Range("A1:A10000") rng.SpecialCells(xlCellTypeConstants).Select End Sub 所以现在,我只需要改变他们的价值观。我非常感谢你的帮助 谢谢您可以为所选范围赋值,例如:
Sub SelectNonBlanks()
Dim rng As Range
Set rng = Range("A1:A10000")
rng.SpecialCells(xlCellTypeConstants).Select
End Sub
所以现在,我只需要改变他们的价值观。我非常感谢你的帮助
谢谢您可以为所选范围赋值,例如:
Selection.Value = "portfolio" & Format(Now, "ddmmyyyy")
如果您想在下一个工作日使用此功能或使用google查找:
Function NextWorkday()
Select Case Weekday(Now, vbMonday) ' - Monday is first day of work you can change this for example for vbSunday. In this example every Saturday and Sunday are holiday
Case 5
NextWorkday = Now + 3
Case 6
NextWorkday = Now + 2
Case Else
NextWorkday = Now + 1
End Select
Holidays = Array("14042015", "16042015") 'your holidays list, format ddmmyyyy
Index = 0
For Each ArrMember In Holidays
If Format(NextWorkday, "ddmmyyyy") = Holidays(Index) Then
NextWorkday = NextWorkday + 1
End If
Index = Index + 1
Next
NextWorkday = Format(NextWorkday, "ddmmyyyy")
End Function
使用NextWorkday功能的sub
Sub SelectNonBlanks()
Dim rng As Range
Set rng = Range("A1:A10000")
rng.SpecialCells(xlCellTypeConstants).Select
Selection.Value = "portfolio" & NextWorkday
End Sub
如果您的选择正确:
For Each myCell In Selection
myCell.Value = CStr(myCell.Value) & " " & CStr(Format(Date, "ddmmyyyy"))
Next myCell
谢谢,不过我用的是当前日期。你知道如何确定下一个工作日的日期吗?谢谢david,但是为什么案例6是必要的呢?如果是星期五,我们使用case 5,如果不是case else,对吗?如果您忘记在星期五和星期六运行:)它会将原始值更改为字符串