私はgoogleとここでStackOverflowでarroundを見ようとしましたが、私の目的のために一緒にコードを接着することはできません。 私は2つの列を使用しています。最初の1つは日付(dd-mm-yyyy)を入力し、もう1つは時間(00:00:00)を入力します。私はすでに15分ごとに時間を増やす方法を見つけましたが、時刻が00:00:00になると自分の日付だけが変更されるという問題があります。だから、このためにはコードは今度はB列を見る必要があります。私は「〇時00分00秒」の列Bに見に行く必要があるだから今時間がゼロのときのVBAの増分日
Sub AutomateTimeSeries
range("B5").Select
ActiveCell.FormulaR1C1 = "=R[-1]C + ""00:15"""
Selection.AutoFill
Destination:=range("B5:B2980"), Type:=xlFillDefault -
range("A4").Select
End Sub
: だから私の時間のために私はこれを持っています。私がセル内でこれを見つけると、 B98私はA98にジャンプし、前の+1に日付を変更する必要があります。そのためには、前のセルに日付を記入する必要があります。ユーザは、最初に提示されたセルの日付を記入する。そこから、マクロは列Aのすべてのセルをこの日付で埋めるでしょう。私は、マクロのこの部分を使用しました:
Selection.AutoFill Destination:=range("A4:A2980"), Type:=xlFillCopy
これは動作しますが、私は次00:00:00含むB細胞へのその特定のA-のセルにセルを変更する必要があります。どうすればいいですか?または、Date-Timeを使用するより良い方法があります。だから、このようなもののようになります。
Sub IncreaseDate()
Dim a_lastrow As Integer 'last row of column A
Dim b_lastrow As Integer 'last row of column B
Dim ws As Worksheet
Set ws = Workbook.Worksheets("Sheet1")
With ws
a_lastrow = .Range("A3000").End(xlUp).Row
b_lastrow = .Range("B3000").End(xlUp).Row
For r = 1 To a_lastrow
If Application.WorksheetFunction.CountIf(.Range("B1:B" & b_lastrow), .Range("B" & r).Value) = "00:00:00" Then
.Range("A" & r).Value = "previous date + 1 day" '<==what's the code for this??????
End If
Next r
End With
MsgBox ("done")
If (Target.Column = 2) Then 'check if in 2nd column
If Target.Offset(, -1).Value = "" Then 'Check if there is already a value in Column A
Target.Offset(, -1).Value = Date ' No value, lets stick in the current system date
End If
End If
SAS DateLiteral
DateAdd
End Sub
::私が使用しようとした見つかったセルから左に行くために
1/01/2017 23:15:00
1/01/2017 23:30:00
1/01/2017 23:45:00
2/01/2017 0:00:00
2/01/2017 0:15:00
2/01/2017 0:30:00
2/01/2017 0:45:00....
は誰のアイデアをしてください持っていますか?
数式だけでも使用できます。セルA1には、セルA2に '28/11/2017 00:00:00'と入力します。' = SUM(A1、 "00:15") '。セルB1に '= A1'と入力します。今度は、列Aに 'd/mm/yyyy'のカスタム形式を与え、列Bに' hh:mm:ss'のカスタム形式を与えます。数式をドラッグすると、深夜になると日付が変わります。 –
こんにちはダーレン、あなたの迅速な答えに感謝します。これは解決策になるかもしれませんが、私の場合は30-31日間続ける必要があります。私はボタンを1回クリックするだけでそれをやりたいので、他の誰かがこれを使うことができます;-) – CD46
いくつかのVBAコードで回答として追加します。 –