年月日や時分秒を表すHour・Day・Monthなどのプロパティは参照専用で、インスタンスを作成した後は一切変更することができません。 年月日・時分秒の一部分だけを変更したい場合は、変更したい値をコンストラクタに指定して新たにインスタンスを作成する必要があります。

既存のDateTimeから日時の値を変更したDateTimeを作成する
Imports System

Class Sample
  Shared Sub Main()
    Dim now As DateTime = DateTime.Now ' 現在日時を取得

    ' 明日同時刻のインスタンスを作成
    Dim oneDayLater As New DateTime(now.Year, now.Month, now.Day + 1, now.Hour, now.Minute, now.Second)

    Console.WriteLine(now)
    Console.WriteLine(oneDayLater)
  End Sub
End Class
実行結果例
2013/04/01 15:00:30
2013/04/02 15:00:30

上記の例では、明日同時刻のDateTimeを作成していますが、月末に実行すると例外ArgumentOutOfRangeExceptionがスローされます。 例えば4月30日では、単純に日にちに1足すと4月31日となり、コンストラクタに不正な日付を指定することになるためです。

このように、既存のDateTimeの値を足し引きしてコンストラクタに指定する場合は、月替わりや日付変更・正時を跨ぐような場合に値が範囲外とならないよう考慮する必要があります。 一方、DateTime.AddDays等のメソッドで日時の加減算を行えば、そういった日時の境界を跨ぐ加減算も容易に行えます。