私の仕事では、Excelテーブルを処理して時間範囲の間にデータを収集する必要があります。Excelで2つの指定された日付の間に2時間ごとにすべての日付をリストする方法
今まで私は、次のVBAコードを使用:
Sub WriteDates()
'Updateby20150305
Dim rng As Range
Dim StartRng As Range
Dim EndRng As Range
Dim OutRng As Range
Dim StartValue As Variant
Dim EndValue As Variant
xTitleId = "KutoolsforExcel"
Set StartRng = Application.Selection
Set StartRng = Application.InputBox("Start Range (single cell):", xTitleId, StartRng.Address, Type: = 8)
Set EndRng = Application.InputBox("End Range (single cell):", xTitleId, Type: = 8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type: = 8)
Set OutRng = OutRng.Range("A1")
StartValue = StartRng.Range("A1").Value
EndValue = EndRng.Range("A1").Value
If EndValue - StartValue <= 0 Then
Exit Sub
End If
ColIndex = 0
For i = StartValue To EndValue
OutRng.Offset(ColIndex, 0) = i
ColIndex = ColIndex + 1
Next
End Sub
をしかし、このコードは、時間によって全体の日とないの一覧を表示することができます。
たとえば、01.01.2017から03.01.2017の間の日付範囲を入力して01.01.2017 02:00、次に01.01.2017 04:00などと... 02.01.2017 22:00までを入力すると。
私はこのコードを編集するのに数回試しましたが、毎回それを壊しました。私はまた、入力ボックスを削除して、セルB2とC2から時間範囲を読み取るコードとA17で出力するが、もう一度は成功しないようにしました。
私はプログラマーではないので、私はVBAについて少し読んでみましたが、多くのことを学ぶ必要があることを理解しました。
誰かがこれを試したことや、助けを知っている場合、私は非常に感謝します。
それだけで細胞を用いて入力ボックスを交換することが可能であるデュポン社開始日はC1であり、終了日はC2時間間隔でC3にあり、出力データはA2で開始する。以前私はこのようなものではなくなし成功を収めてみました:バリアントとして 'グローバルStartRng グローバルEndRngバリアント グローバルOutRngバリアント StartRng =シート(シート1).Range(「C1」)として値 EndRng =シート(シート1として。 )Range( "C2")。値 OutRng =シート(Sheet1)。Range( "A2")。値 ' – RHG
はい、もちろんです。 'Application.InputBox'ステートメントをあなたが望むどんな' Range'でも置き換えてください。 –