|
▼kobasan さん:
そして りんさん こんばんは。
アドバイスありがとうございました。勘違いしていました。
その通りです。失礼しました。
>
>>offset(,1)で合っていると思いましたが。
>>何故か?offset(,2)にしないと定位置に入りませんでした。
>>一行空けですので・・・「1」の指定でよいと思うのですが。
>>
>
>月日(A列) 氏名ID(B列) 金額(C列) 月日(D列) 氏名ID(E列) 金額(F列)
>と思って、コードを作ったのでoffset(0,1)にしました。
>
>月日(A列) 氏名ID(B列) 金額(C列) (D列) 月日(E列) 氏名ID(F列) 金額(G列)
>なら、offset(0,2)でいいと思います。
>
>Cells(3, 256).End(xlToLeft)は、データのある最終セルです。
>このことが分かれば納得できると思います。
はい、分かりました。
色々とアドバイスありがとうございます。
また、kobasanさん
アドバイスいただけませんでしょうか。考えて、後の続きをやりましたが、また砂山にはまり込みそうです。一寸コードを書きましたのでみてください。
頂いたコードで無事完了しました。そこで、
Setを何とか1ケ所だけで、「シートに名前をつけ」てコードを作りました。
後は、kobasanからのご指摘のコードを利用させていただき、上手く行きました。
残るのは、毎日の売上を棒打ちにしているので、7月度の集計に、万が一8月分の売りが混在した時の「Msg」によるアラームと元データが貼り付けられないようにしたいのですが・・・
上手く行きません。
7月度のシリアルナンバーを裏に持たせ、7月度は7月31日のシリアルナンバーにしています。8月1日はシリアルナンバーが「 1 」大きいのでそれで、不等号記号を用いて
Msgのメッセージを出そうとしたのですが・・・
A3に7月(実際は7月31日のシリアルナンバーです)
データの貼り付けは6行目からです。(最初のものは4行目でしたが6行目からに変更しました。)
Dim tBK As Workbook
On Error Resume Next
Set tBK = Workbooks("AAA売上集計と請求書発行.xls")
If Err Then
Set tBK = Workbooks.Open("U:\AAA売上と請求\AAA売上集計と請求書発行.xls")
End If
On Error GoTo 0
If tBK Is Nothing Then Exit Sub
tBK.Worksheets("売上一覧").Range("A3", Cells(Rows.Count, 1).End(xlUp)).Resize(, 3).Select
With Workbooks("データベース作成").Worksheets("月次集計")
If .Cells(6, 256).End(xlToLeft).Column < 3 Then
Selection.Copy .Cells(6, 256).End(xlToLeft)
Else
Selection.Copy .Cells(6, 256).End(xlToLeft).Offset(0, 2)
End If
End With
tBK.Close False
Set tBK = Nothing
Cells(6, 256).End(xlToLeft).Offset(, -2).Select
’ここまではご指導いただき上手く行きました。
' 問題はここからです⇒シリアルナンバーが出てきませんが、どのようにすると良い ’のでしょうか?
M = ActiveCell.Offset(-3)
M.NumberFormatLocal = "G/標準"
MyR = Range(Selection, Selection.End(xlDown))
For Each R In MyR
R.NumberFormatLocal = "G/標準"
If R.Value > M.Value Then
MsgBox "該当月のデータ以外があります" & Chr(10) & "見直しをしてください"
End If
Exit Sub
Next
更に、アラーム(Msgboxで表示後、OKをおせば)後は、そのままExitさせたいのですが。コードの書く位置が今一分かりません。
お時間が許せましたら、アドバイスお願いします。
|
|