
VBAコードにより、入力シート(振替伝票作成用)から振替伝票の印刷と現金出納帳に転記する一括で処理するボタンで、日ごとに現金出納帳に記録していますが、当日のデータを転記すると、前日の記録行から下の3行目に記録されてしまいます。その都度、コピーして手直しなければならず困っています。教えて下さい。なお、コードは以下のとおりです。但し、cashbookのコードは添付していません。Sub 現金①出納帳()
Dim mRow As Long
Dim sh9 As Worksheet
Dim sh4 As Worksheet
Dim startRow As Long
Dim targetDate As Date
Dim targetRow As Long
Set sh9 = Worksheets("振替伝票①")
Set sh4 = Worksheets("現金①出納帳")
If Not IsDate(sh9.Range("J2").Value) Then Exit Sub
targetDate = DateSerial(Year(sh9.Range("J2").Value), Month(sh9.Range("J2").Value), 1) ' 対象月の1日を取得
' s91のB列で対象月の1日と一致する最初の行を検索
startRow = 1 ' 検索開始行
Do While startRow <= 441
If Month(sh9.Cells(startRow, "B").Value) = Month(targetDate) And Year(sh9.Cells(startRow, "B").Value) = Year(targetDate) Then
targetRow = startRow
Exit Do
End If
startRow = startRow + 1
Loop
Select Case Month(sh9.Range("J2").Value)
Case 4: mRow = 7 ' 4月の開始行
Case 5: mRow = 44 - targetRow ' 5月の開始行
Case 6: mRow = 81 - targetRow ' 6月の開始行
Case 7: mRow = 111 - targetRow ' 7月の開始行
Case 8: mRow = 155 - targetRow ' 8月の開始行
Case 9: mRow = 192 - targetRow ' 9月の開始行
Case 10: mRow = 229 - targetRow ' 10月の開始行
Case 11: mRow = 262 - targetRow ' 11月の開始行
Case 12: mRow = 299 - targetRow ' 12月の開始行
Case 1: mRow = 340 - targetRow ' 1月の開始行
Case 2: mRow = 377 - targetRow ' 2月の開始行
Case 3: mRow = 414 - targetRow ' 3月の開始行
End Select
Call cashbook_main(mRow)
End Sub
No.8ベストアンサー
- 回答日時:
パターン②の前提で、Sub 現金①出納帳()を修正し、現金①出納帳2()
を作成しました。
こちらで試してください。
尚、
MsgBox ("J2の日付=" & tMonth & "/" & tDay & " mRow=" & mRow)
は、確認用です。不要になりましたら、削除してください。
Sub 現金①出納帳2()
Dim mRow As Long
Dim sh9 As Worksheet
Dim tYear As Long
Dim tMonth As Long
Dim tDay As Long
Dim mx As Long
Set sh9 = Worksheets("振替伝票①")
If Not IsDate(sh9.Range("J2").Value) Then Exit Sub
tYear = Year(sh9.Range("J2").Value)
tMonth = Month(sh9.Range("J2").Value)
tDay = Day(sh9.Range("J2").Value)
mx = tMonth - 4
If mx < 0 Then mx = mx + 12
mRow = 6 + mx * 37 + tDay
MsgBox ("J2の日付=" & tMonth & "/" & tDay & " mRow=" & mRow)
Call cashbook_main(mRow)
End Sub
No.7
- 回答日時:
すみません。
No6の訂正です。パターン②の
mRowは1~31の値になるべきのように思われますが・・・・?
は
mRowは7~37の値になるべきのように思われますが・・・・?
の誤りです。
有難うございます。文字がオーバーしそうなので、オーバーする分は後で送ります。>mRowの値(記録開始行)の決め方がよくわかりません。
⇒順序として、まず「台帳」のC列に1からの一連番号があり、固定セルに顧客IDを入力すると例えば1番の行に「日付、顧客名」が表示される。セル参照(=台帳!B2)で「入力シート」の日付をSh9にはB列に=台帳!B7で日付を取得しています。Sh9で振替伝票を作成するため、J2セルに日付を入力すると振替伝票にデータが入り、印刷します。と同時にsh4の「現金出納帳」に転記する流れになっています。Sh4のB列は月、c列は日が表示されます。従って、パターン②ではと思います。
パターン①
J2セルの日付(日の1~31で決まる)が決まれば、自動的に決まる。(月は無関係)
4月1日・・・7行
4月2日・・・8行
4月30日・・・36行
5月1日・・・7行
5月8日・・・8行
5月31日・・37行
以下同様
もし、そうであれば、B列を2行目から検索する処理は不要です。
パータン②
>sh9.Range("J2").Value の月に応じて mRow の値が設定され、
>”J2”に4/2と入力したら7行目、 (4/1の誤りと思われる)
>5/2なら44行目・・・などなのです (5/1の誤りと思われる)
⇒誤りでした。最初に記録される行です。
mRowの値は、以下のようになるということですか。
J2の値
4月1日・・・7行
4月8日・・・8行
5月1日・・・44行
5月2日・・・45行
⇒そうなります。月の最初の日が最初の行になります。
もし、そうであれば、B列を2行目から検索する処理は不要です。
mRowは7~37の値になるべきのように思われますが・・・・?
cashbook_main(mRow)で、mRowをどのように使っているのかが提示されれば、判るかも知れません。
⇒sh9のデータをsh4に転記するコードを添付いたします。
そもそも、B列の日付は、手入力で設定しているものなのでしょうか。
⇒手入力ではなく台帳のB列の日付セルを参照し下にコピーしています。
それとも、マクロで自動設定しているものなのでしょうか。
⇒マクロではないです。
No.6
- 回答日時:
すみません。
そもそもの話になりますが、不明点です。
mRowの値(記録開始行)の決め方がよくわかりません。
パターン①
J2セルの日付(日の1~31で決まる)が決まれば、自動的に決まる。(月は無関係)
4月1日・・・7行
4月2日・・・8行
4月30日・・・36行
5月1日・・・7行
5月8日・・・8行
5月31日・・37行
以下同様
もし、そうであれば、B列を2行目から検索する処理は不要です。
パータン②
>sh9.Range("J2").Value の月に応じて mRow の値が設定され、
>”J2”に4/2と入力したら7行目、 (4/1の誤りと思われる)
>5/2なら44行目・・・などなのです (5/1の誤りと思われる)
mRowの値は、以下のようになるということですか。
J2の値
4月1日・・・7行
4月8日・・・8行
5月1日・・・44行
5月2日・・・45行
もし、そうであれば、B列を2行目から検索する処理は不要です。
mRowは1~31の値になるべきのように思われますが・・・・?
cashbook_main(mRow)で、mRowをどのように使っているのかが提示されれば、判るかも知れません。
パターン③
現在、プログラムで行っていることをただ素直に、解釈しただけの仕様。
1.sh9のJ2セルの年、月を取得。
2.sh9のB列を2行から検索し、J2の年月に一致する最初の行を取得する。
3.その一致した行番号を各月の基準値から減算した結果を、mRowへ設定する。
そもそも、B列の日付は、手入力で設定しているものなのでしょうか。
それとも、マクロで自動設定しているものなのでしょうか。
常識的に考えると、以下のようにならないといけません。
j2=12/1の場合、mRowが7になるべきなので、296行目12/1の日付があること。
j2=12/2の場合、mRowが8になるべきなので、295行目12/2の日付があること。
j2=12/3の場合、mRowが9になるべきなので、294行目12/3の日付があること。
j2=12/4の場合、mRowが10になるべきなので、293行目12/4の日付があること。
上記のように、手入力又はマクロで日付を設定しているのでしょうか?
上記のどのパターンなのでしょうか。もしくは、上記以外なのでしょうか。
No.5
- 回答日時:
>しかし、行間がずれる問題は同じ状態です。
>J2セルに12/12と入力し実行すると、8行目に記録するデータなのですが、ずれて16行目に表示されます。
>どうも、12月の1日からの記録が、1行ごとに+1、+2、+3・・と行がずれていくようです。
8行目に記録するということは、mRowの値が8になれば、良いということでしょうか?(記録開始行はmRowの値である)
そうであれば、mRowが8になるためには、TargetRowは291でなければいけません。B列の291行目に2024年の12月のデータがある必要があります。そして、2から290行には、2024年の12月があると期待した結果になりません。そのようになっているかチェックしてください。
もし、mRowの値が記録開始行でないなら、mRowがどのような値なのか、そして、記録開始行になるべき変数は、どのようにして求めているかの説明がないと、回答ができません。
有難うございます。頂いたコードを試行しました。⑦⑧のB1セルの型式の件、日付に修正し正常に作動いたしました。なお、mRow = 291に+4して、「Case 12: mRow = 295 - targetRow ' 12月の開始行」を試行したら、309行目に適正に記録されました。12月の行は302行目「繰越」行、303~以降が記録行です。>8行目に記録とは:繰越行から7行目までデータが記録されています。現行は8行目から記録する状態です。>mRowの値が記録開始行でないなら、・・ :については、「mRowの値は、開始行の値です。日ごとに行に記録していくので記録行が1行ずつ移動していくのですが、ずれる原因がわかりません。- targetRowなのかと思うのですが、どう修正して良いかわかりません。今は、記録の都度、mRowの値をその都度修正して記録しています。>記録開始行になるべき変数は、どのようにして求めているか:sh9.Range("J2").Value の月に応じて mRow の値が設定され、”J2”に4/2と入力したら7行目、5/2なら44行目・・・などなのです。よくわかっておらず説明が不十分だと思いますが、ご理解いただければ幸いです。
No.4
- 回答日時:
>修正し、実行したのですが、他の原因でディバックが発生しました。
修正したのは、7,11,12月の基準値である、
111,262、269を118,266,303にしただけでしょうか。
もし、そうであれば、1行目でエラーが発生することは、考えにくいです。
マクロ修正時に、sh9のB1セルの内容、又は商品券売上台帳!B93か
sh9のJ2セルの内容を書き換えていませんでしょうか。
そうであれば、それが原因になります。
上記で解決しない場合は、以下のマクロを実行してください。
Sub 現金①出納帳()
Dim mRow As Long
Dim sh9 As Worksheet
Dim sh4 As Worksheet
Dim startRow As Long
Dim targetDate As Date
Dim targetRow As Long
Dim tYear As Long '①
Dim tMonth As Long '②
Dim wYear As Long '③
Dim wMonth As Long '④
Set sh9 = Worksheets("振替伝票①")
'Set sh4 = Worksheets("現金①出納帳")
If Not IsDate(sh9.Range("J2").Value) Then Exit Sub
targetDate = DateSerial(Year(sh9.Range("J2").Value), Month(sh9.Range("J2").Value), 1) ' 対象月の1日を取得
tYear = Year(targetDate) '⑤
tMonth = Month(targetDate) '⑥
s91のB列で対象月の1日と一致する最初の行を検索
startRow = 1 ' 検索開始行
Do While startRow <= 441
wYear = Year(sh9.Cells(startRow, "B").Value) '⑦
wMonth = Month(sh9.Cells(startRow, "B").Value) '⑧
'If Month(sh9.Cells(startRow, "B").Value) = Month(targetDate) And Year(sh9.Cells(startRow, "B").Value) = Year(targetDate) Then
If wMonth = tMonth And wYear = tYear Then '⑨
targetRow = startRow
Exit Do
End If
startRow = startRow + 1
Loop
Select Case Month(sh9.Range("J2").Value)
Case 4: mRow = 7 ' 4月の開始行
Case 5: mRow = 44 - targetRow ' 5月の開始行
Case 6: mRow = 81 - targetRow ' 6月の開始行
Case 7: mRow = 118 - targetRow ' 7月の開始行
Case 8: mRow = 155 - targetRow ' 8月の開始行
Case 9: mRow = 192 - targetRow ' 9月の開始行
Case 10: mRow = 229 - targetRow ' 10月の開始行
Case 11: mRow = 266 - targetRow ' 11月の開始行
Case 12: mRow = 303 - targetRow ' 12月の開始行
Case 1: mRow = 340 - targetRow ' 1月の開始行
Case 2: mRow = 377 - targetRow ' 2月の開始行
Case 3: mRow = 414 - targetRow ' 3月の開始行
End Select
Call cashbook_main(mRow)
End Sub
------------------------------------------
①~⑧が追加行です。
⑨は修正行です。(前の行をコメントにしています)
上記を実行して、⑤⑥の何れかで止まるならJ2セルの内容が不正になります。⑦⑧で止まるなら、B1のセルの内容が不正になります。(商品券売上台帳!B93の可能性もあります)
⑨で止まるなら、tYear,tMonth,wYear,wMonthにマウスをあてたとき、
期待しない数値が設定されている箇所が、エラーの個所です。
(tYear,tMonthの何れかならJ2セル、wYear,wMonthの何れかならB1セル)
有難うございました。エラーが直りました。⑧で止まりました。B1セルを確認したら、「日付」の項目でしたので、「startRow = 1 ' 検索開始行」を=2に修正し、実行したところ、作動できました。しかし、行間がずれる問題は同じ状態です。J2セルに12/12と入力し実行すると、8行目に記録するデータなのですが、ずれて16行目に表示されます。どうも、12月の1日からの記録が、1行ごとに+1、+2、+3・・と行がずれていくようです。
No.3
- 回答日時:
エラーが発生したときのエラーメッセージの内容は、何が表示されましたでしょうか。
エラー発生時の状態で、マウスを、startRowに合わせると、その時の
startRowの値が表示されます。その値がB列でエラーが発生している行です。
そのセルの内容は、正しい日付が設定されてますでしょうか。
有難うございます。今12月のデータを処理しています。>コードのエラーは「型が一致しない」と表示されます。>またstartRow=1と表示します。>日付の設定ですが、sh9のB列の日付は、sh3の日付け(2024/12/12)を参照(=商品券売上台帳!B93)して、12/12と表示しています。>セルの内容は、正しく設定しています。
No.2
- 回答日時:
mRow算出時の7,44,81等の値は、一か月に37行とすると、
添付図のようになります。
7,11,12月の値がおかしくないでしょうか?(添付図の黄色のセル)
一か月が37行なら、
7,11,12月は、118,266,303になるはずです。

いつも有難うございます。ご指摘いただいた基準値は37行に修正しました。ご指摘とおり行数は月毎のページ全体を37行にしています。同じシートの縦に各月のシートを作成し、各月の記録行は6行目からです。なので6行目は繰越行のため7行目からの記録となります。修正し、実行したのですが、他の原因でディバックが発生しました。申し訳ございませんが、原因を教えていただけませんか?「If Month(sh9.Cells(startRow, "B").Value) = Month(targetDate) And Year(sh9.Cells(startRow, "B").Value) = Year(targetDate) Then」 なお、”B”は日付で12/14 ユーザ定義でm/d;;;で設定しています。
No.1
- 回答日時:
こんにちは
全体がどのようなレイアウトなのかもまったく不明ですし、ご提示のコードは行位置を調べているだけなので、ご質問の「転記」する部分は記されていないように思われます。
ですので、どの変数が転記に使われているのかすら回答者には不明です。
(多分、mRowなのかなと推測はしますけれど・・)
>前日の記録行から下の3行目に記録されてしまいます。
どのようなケースでも、確実に「3行目」から記録されてしまうというのであれば、単純に転記のスタート行をマイナス1(「1行目」をどこに考えるかによってはマイナス2かも?)しておけば良いと考えられます。
ただし、上記は対処療法的な発想ですので、『どのようなケースでも確実に』が正しくないと、とんでもない改悪となる危険性も高いです。
一方で、そのコードを作成した方なら、きちんと全体像をご存じのはずでしょうから、そちらに相談なさるのがベストの解決方法だと思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。 1 2024/01/08 16:23
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 5 2023/10/01 12:50
- その他(Microsoft Office) Excel データの並び替えについて 2 2024/01/28 20:26
- Visual Basic(VBA) VBA 1 2024/02/03 22:51
- Excel(エクセル) Excel データの並び替え 1 2024/01/28 18:11
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 2 2023/09/30 13:01
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) エクセルファイルのデータ転記について 2 2024/02/17 02:10
- Visual Basic(VBA) VBAに関して 2 2023/11/09 20:57
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
関数を教えて下さい。
Excel(エクセル)
-
AM8:30から翌朝8:30まで勤務する消防士です 時間外勤務の管理を任されました 作成したEXCE
Excel(エクセル)
-
Excelで、日付と数量からなるデータのうち日付が飛び飛びになっているデータから、
Excel(エクセル)
-
-
4
エクセルでセルに入力する前は非表示にしたい
Excel(エクセル)
-
5
Excel いい方法教えてください。
Excel(エクセル)
-
6
関数を教えて下さい
Excel(エクセル)
-
7
エクセルでAのセルに「家電」と入れたらDが「10」、「野菜」と入れたら「8」となる方法
Excel(エクセル)
-
8
Excelで合計を求めたいです
Excel(エクセル)
-
9
エクセルで 45201 を文字列 20231002 にする方法を教えてください。
Excel(エクセル)
-
10
VLOOKUP関数で複数条件を設定について
Excel(エクセル)
-
11
Excelファイルを開くと私だけVALUEが表示されます。
Excel(エクセル)
-
12
エクセルの関数について 理解度が◯、正解(◯)の科目を探したいです。 例えば、下の写真の26番なので
Excel(エクセル)
-
13
【関数】データベースから2つの条件を満たす場合に「一致」と表示したい
Excel(エクセル)
-
14
Excel について教えてください。
Excel(エクセル)
-
15
年間の医療費のデータがあり、月々の集計をする計算式を教えていただけませんか
Excel(エクセル)
-
16
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
17
エクセルの不調について
Excel(エクセル)
-
18
エクセルの数式が分かりません
Excel(エクセル)
-
19
エクセルで作成した書類の印刷について
Excel(エクセル)
-
20
UNIQUE関数、配列数式を使わずに品名ごとの集計を求めたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付書式について教え...
-
マクロを実行すると、セル範囲...
-
別のシートの指定列の最終行を...
-
Excelファイルを開くと私だけVA...
-
【マクロ】シート追加時に同じ...
-
Excelでの文字入力について
-
Excelのデーターバーについて
-
エクセルで、数字の下4桁の0を...
-
【マクロ】Call関数で呼び出し...
-
システムファイルについて
-
エクセルの設定、下へスクロー...
-
Excel 日付の表示が直せません...
-
スプレッドシートでの数値集計
-
Excel関数の解決方法
-
エクセルの設定、特定の列以降...
-
エクセル 数字のみ抽出につて
-
エクセルで作った表が印刷する...
-
カーソルを合わせてる時のみ行...
-
UNIQUE関数の代用
-
SUBTOTAL関数のように同関数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
Excelの条件付き書式のコピーと...
-
vba 印刷設定でのカラー印刷と...
-
VBA の単語の意味を教えて下さい。
-
Excel 日付の表示が直せません...
-
エクセル 同じ行の隣り合う数字...
-
エクセル条件付き書式について。
-
エクセルの数式につきまして
-
ファイル名の変更
-
エクセル 数字のみ抽出につて
-
Excelの開始ブックを固定したい...
-
エクセルの数式について教えて...
-
エクセルのセルをクリックする...
-
=INDIRECT(RIGHT(CELL("filenam...
-
エクスプローラーで見ることは...
-
Excelの関数で質問です
-
至急お願いいたします 屋上の備...
-
エクセルでセルに入力する前は...
-
関数を教えて下さい
-
Excel 関数での質問です
おすすめ情報
⇒sh4の12/1の行は303行目になります。⇒sh4の12/2の行は304行目になります。⇒sh4の12/3の行は305行目になります。⇒sh4の12/4の行は306行目になります。⇒sh4マクロで設定しています。⇒パターン②です。
Public Sub cashbook_main(mRow As Long)・・一部省略・・For Row = 2 To maxrow
key = sh9.Cells(Row, "C").Value dicT(key) = Row・・・一部省略します・・・・
sh4.Cells(Row + mRow, "C").Value = sh9.Cells(5, "W").Value '日
sh4.Cells(Row + mRow, "B").Value = sh9.Cells(5, "U").Value '月
MsgBox ("現金①出納帳に転記します")
再追加
Public Sub cashbook_main(mRow As Long)
Dim sh4 As Worksheet
Dim sh9 As Worksheet
Dim maxrow As Long
Dim Row As Long
Dim dicT As Object
Dim key As Variant
Set sh4 = Worksheets("現金①出納帳")
Set sh9 = Worksheets("振替伝票①")
Set dicT = CreateObject("Scripting.Dictionary")
maxrow = sh9.Cells(Rows.Count, "C").End(xlUp).Row
For Row = 2 To maxrow
key = sh9.Cells(Row, "C").Value
dicT(key) = Row
Next
追加2
'伝票番号を記憶
key = sh9.Cells(7, "Z").Value
If dicT.exists(key) = False Then
MsgBox ("伝票番号=" & key & "は振替伝票①にありません")
Exit Sub
End If
If sh9.Cells(14, "AP").Value = "" Then
MsgBox ("合計が未表示です")
Exit Sub
End If
If sh9.Cells(5, "Q").Value = "" Then
MsgBox ("年が未表示です")
ElseIf sh9.Cells(5, "Q").Value > 2 Then
sh4.Cells(5, "B").Value = sh9.Cells(5, "Q").Value
Else
Exit Sub
End If
追加3
Row = dicT(key)
sh4.Cells(Row + mRow, "L").Value = sh9.Cells(7, "AA").Value '名前
sh4.Cells(Row + mRow, "X").Value = sh9.Cells(14, "AP").Value '金額
sh4.Cells(Row + mRow, "C").Value = sh9.Cells(5, "W").Value '日
sh4.Cells(Row + mRow, "B").Value = sh9.Cells(5, "U").Value '月
sh4.Cells(Row + mRow, "N").Value = sh9.Cells(19, "Z").Value '他店数
追加3
sh4.Cells(Row + mRow, "M").Value = sh9.Cells(19, "X").Value '他
sh4.Cells(Row + mRow, "O").Value = sh9.Cells(19, "AA").Value '店
sh4.Cells(Row + mRow, "D").Value = sh9.Cells(7, "Z").Value '店別伝票番号
sh4.Cells(Row + mRow, "E").Value = sh9.Cells(8, "Z").Value '店別伝票番号
sh4.Cells(Row + mRow, "F").Value = sh9.Cells(9, "Z").Value '店別伝票番号
最終追加です。
sh4.Cells(Row + mRow, "G").Value = sh9.Cells(10, "Z").Value '店別伝票番号
sh4.Cells(Row + mRow, "H").Value = sh9.Cells(11, "Z").Value '店別伝票番号
sh4.Cells(Row + mRow, "I").Value = sh9.Cells(12, "Z").Value '店別伝票番号
sh4.Cells(Row + mRow, "J").Value = sh9.Cells(13, "Z").Value '店別伝票番号
MsgBox ("現金①出納帳に転記します")
End Sub