残念ながら特定の質問があり、Googleとの共同作業でVBAコードを使用することができます。VBA検索列D "PM"の場合、列Bに12時間を追加します。
30分の間隔を示す列を持つテキストファイルからレポートをインポートしています(スクリーンショットを参照)。何らかの理由で、午後12時以降はいつでも列BにAMとして表示されますが列Dには表示されません。PMとして列Dを検索し、列Bに12時間を追加してPMとして終了するコードを作成しようとしています。私の試みは機能していないし、範囲のためだと信じている。
Sub AM2PM()
Dim rngC As Range
Dim rngT As Range
Set rngT = Range("B2", Cells(Rows.Count, "B").End(xlUp))
rngT.NumberFormat = "mm/dd/yyyy hh:mm:ss AM/PM"
For Each rngC In rngT
If InStr(1, (Range("D")), "PM") > 0 Then
rngC.Value = DateValue(rngC.Value) + TimeValue(rngC.Value) + 0.5
Else
rngC.Value = DateValue(rngC.Value) + TimeValue(rngC.Value)
End If
Next rngC
End Sub
すべてのヘルプは大歓迎です!
ITSは機能していない '12:00ので - 12:30 PM'は**日付型オブジェクトではありません**。それは文字列です。最初にセルから「12:30 PM」を取り除く必要があります。 –
@ScottHoltzmanこれについては、最も良い方法は何でしょうか –