Ads By Google
VBAについて困っています。下記コードで日付の後ろ倒しと前倒しデータの取得のもの作っています。
Dim lastRow As LongDim firstrow As Long
Sub testだよ()
Dim i As Long
Dim j As Long
lastRow = Range("C12").End(xlDown).Row
firstrow = Range("C12").End(xlUp).Row
'原則26日後に期限
For i = 12 To lastRow
Cells(i, 9).Value = DateAdd("d", 26, Cells(i, 3).Value)
Next
'が休日の場合
For i = 12 To lastRow
If Cells(i, 6).Value = "★" Then
Call delay(Cells(i, 3).Value)
End If
Next
For i = 12 To lastRow
If Cells(i, 7).Value = "★" Then
Call moveup(Cells(i, 3).Value)
End If
Next
End SubFunction delay(dd As Long)
Dim i As Long
For i = 12 To lastRow
If Cells(i, 8).Value = dd Then
Cells(i, 8).Value = DateAdd("d", 1, Cells(i, 8).Value)
End If
Next
For i = 12 To lastRow
If Cells(i, 10).Value = dd Then
Cells(i, 10).Value = DateAdd("d", 1, Cells(i, 10).Value)
End If
Next
For i = 12 To lastRow
If Cells(i, 12).Value = dd Then
Cells(i, 12).Value = DateAdd("d", 1, Cells(i, 12).Value)
End If
Next
End Functionここからに問題があります。
Function moveup(md As Long)
Dim i As Long
For i = 12 To lastRow
If Cells(i, 9).Value = md Then
Cells(i, 9).Value = DateAdd("d", -1, Cells(i, 9).Value)
End If
Next
For i = 12 To lastRow
If Cells(i, 11).Value = md Then
Cells(i, 11).Value = DateAdd("d", -1, Cells(i, 11).Value)
End If
Next
For i = 12 To lastRow
If Cells(i, 13).Value = md Then
Cells(i, 13).Value = DateAdd("d", -1, Cells(i, 13).Value)
End If
Next
End Functionどうしても複数星が入っていると前倒ししていかないのです。どなたか助けてください。
2008-03-24 01:52の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
回答(1)
1.
2008-03-29 02:28:57

VBAのコードを実行させましたけど、シートにそもそもどんなデータが入っているのかわかりませんので、Subを実行させても駄目でした。
サンプルがないと、回答はつかないと思います。
サンプルがないと、回答はつかないと思います。
すみません 自分でわかりました!有難うございました
Ads By Google
コメント
まだコメントがありません



