• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シート間のデータのやりとり2 09/01/17 13:21追加)

シート間のデータのやりとり2

このQ&Aのポイント
  • エクセル2003 XPを使用している場合、シート「記入」とシート「入金記入」の2つのシートがあります。これらのシートの内容は他のシートにも反映されます。シート「記入」のリストから「入金済」を選択した場合、シート「入金記入」の一部のセルが自動的に記入されます。
  • 具体的には、B1のセルには日付が記入され、C1のセルにはシート「記入」の番号がそのまま記入されます。また、D1のセルにはシート「記入」の売上金額がそのまま記入されます。
  • 現在はシート「入金記入」を手動で入力していますが、VBAのコードを使用することで、自動的に入力されるようになります。質問者はコードを作成しているがエラーが出ており、解決策を求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmmk16
  • ベストアンサー率46% (32/69)
回答No.2

一例です。 シート「記入」I1のリストから「入金済」のセルを ダブルクリックするとマクロ走ります。 下のコードをシート「記入」に貼り付けてください Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim i As Long Dim r As Byte i = Sheets("入金記入").Range("B65536").End(xlUp).Row + 1 r = Target.Row If Target.Value = "入金済" Then With Sheets("入金記入") .Cells(i, 2).Value = Date .Cells(i, 3).Value = Cells(r, 3).Value .Cells(i, 4).Value = Cells(r, 4).Value End With End If End Sub

dorasuke
質問者

お礼

解決し私が考えていたようになりました。 知識不足の小生にご協力本当に感謝します。 有難うございました。 追伸: 色んなテスト  Wクリックのミス  「記入」のミスによる  など考えられるミスも試してみましたが何も揉んだ九無く稼働しまし た。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

≪マクロが反応しない件≫ If Target.Column = 5 And Target.Value = "入金済" Then 上記コードですが I列セルに、入金済と入力されて、マクロが起動して欲しいわけです。 従って、TargetのColumn値があっていないような気がします。 # 余計なお節介ですが シート間のデータのやりとり http://oshiete1.goo.ne.jp/qa4637139.html?ans_count_asc=20 で マクロ原作者の、pc_knightさんからレスが付いています。 返信をしていただけるようお願いいたします。

dorasuke
質問者

お礼

ご協力有難うございました。 今後ともよろしく御願いします。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>変数が定義されていません。 なのですから 変数を定義すればいいのでは? Private Sub Worksheet_Change(ByVal Target As Range) Dim rw as Long '< 追加? If Target.Count = 1 Then

dorasuke
質問者

お礼

ご協力有難うございました。 今後ともよろしく御願いします。

dorasuke
質問者

補足

誠に申し訳なく思いますがVBAの知識がない私で >変数が定義されていません。 なのですから 1 変数を定義すればいいのでは?   に対して定義とが分かりません。 2 Private Sub Worksheet_Change(ByVal Target As Range)   Dim rw as Long '< 追加?   If Target.Count = 1 Then   で Dim rw as Long '< を入れて試しましたが反応しませんでし  た。 誠に勝手ですが再度ご指導いただけませんか。 セツに御願いします。 知識不足の小生をどうかご指導の程よろしく御願いします。

関連するQ&A

専門家に質問してみよう