• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAの記述で・・・OTL)

エクセルVBAの記述で・・・OTL

このQ&Aのポイント
  • VBA初心者がエクセルVBAの記述について質問しています。完成させたいコードの説明と、問題点があります。質問に対する解決策を教えてほしいという内容です。
  • 具体的には、Sheet1に存在するボタンをクリックすると、Sheet2のG10セルに入力内容を転送したいです。転送はSheet3のA列に順番に行い、値がFALSEの場合はデータを削除します。
  • 質問者はWindowsXP ProとExcel 2003を使用しています。

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

  • ベストアンサー
回答No.1

たぶんこのような処理をしたいのでは.... Sub test01() Dim tuika As String A01: tuika = Application.InputBox( _ Title:="追加", _ Prompt:="追加する内容を入力して下さい。", _ Left:=650, _ Top:=100, _ Type:=2) If tuika <> "" Then   Worksheets("Sheet2").Range("G10") = tuika   MsgBox "OKです", vbOKOnly + vbDefaultButton2, "追加完了"   LastRow = Worksheets("Sheet3").Range("A" & Rows.Count).End(xlUp).Row + 1   Worksheets("Sheet3").Range("A" & LastRow).Value = Worksheets("Sheet2").Range   ("G10").Value Else   MsgBox "入力が不足しています。", vbOKOnly + vbCritical, "入力ミス"   GoTo A01 End If End Sub

noname#201736
質問者

お礼

ご回答ありがとうございます! ご指示の記述を実行しましたところ、 正しい入力(テキスト入力)をしてもループしてしまいました・・・orz Elseの場合は(InputBoxが空欄)の場合は、 Sheet2のG10値のFALSEを削除したいと考えてます。 いかがでしょうか・・・?

その他の回答 (1)

回答No.2

当方の環境ではループしませんが(^_^;) 私が作ったマクロの概要は以下の通りです tuikaがnull以外であればG10に値をセットして、 sheet3に追加する。 tuikaがnullの場合、エラーを表示して再入力させる。 この様なロジックになっています。 "FALSE"という表現をなされていますが、何を持って "FALSE"なのでしょうか? このマクロでは戻り値として"FALSE"は無いと思います。 ご自分でG10に"FALSE"という文字列をセットしたいと いう事でしょうか?

noname#201736
質問者

お礼

度々のご回答ありがとうございます。 Sheet2のG10に最初からFALSEが入力されていて(自分の間違った記述のままの値) ループをしていた?んだと思います(たぶん) 解決です。完璧でした! ありがとうございます!