Vba 如何在范围内插入下一个工作日的数据

Vba 如何在范围内插入下一个工作日的数据,vba,excel,Vba,Excel,我需要更改“投资组合+下一个工作日数据”范围内所有单元格的值。例如,今天我需要将范围的值设置为“portfolio05042015”。如你所见,我已经设置了我的范围 Sub SelectNonBlanks() Dim rng As Range Set rng = Range("A1:A10000") rng.SpecialCells(xlCellTypeConstants).Select End Sub 所以现在,我只需要改变他们的价值观。我非常感谢你的帮助 谢谢您可以为所选范围赋值,例如:

我需要更改“投资组合+下一个工作日数据”范围内所有单元格的值。例如,今天我需要将范围的值设置为“portfolio05042015”。如你所见,我已经设置了我的范围

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,对吗?如果您忘记在星期五和星期六运行:)它会将原始值更改为字符串