• 締切済み

Excel VBA フォームとシートの連結

『Excelのシートの特定の部分をフォームに反映させて、フォーム上で値や文字を入力をして、入力内容を再びシートに返す。』と言うことをやろうとしています。しかしExcelのシートをフォームに反映させることができません。どなたかご存知でしたら御教授願います。よろしくお願いします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 今、どんな状態か分かりませんし、たぶん、フォームというのは、ユーザーフォームのことだと思います。本当は、そのコードを見せてくれると、分かりやすいですね。それが、何も分からないない状態でしたら、あまり、お勧めできません。 実際に、フォームに反映すると言っても、直接、ユーザーフォームに反映させるのは、あまり例がありません。常識的には、テキストボックスなら分かるので、それで話を想像で進めて行くいくしかありません。 '例えば、CommandButton に付ける場合。 'エキスポート Private Sub CommandButton1_Click()  For i = 1 To 5   Sheet1.Cells(i, 1).Value = Me.Controls("TextBox" & i).Text  Next i End Sub 'インポート 現在は、A1~A5 まで Private Sub UserForm_Initialize()   For i = 1 To 5   Me.Controls("TextBox" & i) = Sheet1.Cells(i, 1).Value  Next i End Sub なお、個々に反映していくなら、このようなものを残り4個つくります。 Private Sub TextBox1_Change()  Sheet1.Cells(1, 1).Value = Me.TextBox1.Text End Sub

zyakatu
質問者

お礼

参考にさせていただきました。ありがとうございます。

関連するQ&A

  • 入力フォームをエクセルに書き出す

    質問させてください。 Web上の入力フォームに入力された内容を単純にエクセルに書き出したいのですが、方法がわからず困っています。 たしか、Javascriptで何か命令語があったと思うのですが。。。 フォーム1の内容をエクセルシート1Aに フォーム2の内容をエクセルシート1Bに。。。 のような処理を行いたいのですが、ご教授いただけないでしょうかm(__)m

  • エクセル シート反映

    ご教授願います。 エクセル2003なのですが、シート1に入力した文字を、リアルタイムにシート2の指定箇所に反映させたいのですが、そのまま反映ではなくシート2の文字の大きさを大きくしたり、文字位置を中央寄せ等に変更して反映させたいのですが、可能でしょうか? よろしくお願い致します。

  • エクセルVBAで困ってます。

    私は今、エクセルVBAで困ってます。 内容はデータを入力したエクセルのシート上で、別のファイル(CSV形式)を開いてある特定の行に入力したデータを参照し、完全に一致した際には、別のファイルの内容をシートに反映させるといったようなことは可能でしょうか? 襲えて下さい。 回答お待ちしています。

  • VBAエクセルのフォームについて

    お世話になっております。 VBAエクセルのフォームについて教えていただきたいのです。 VBAで入力のフォームを作ったのですが(TEXT BOXが4つ、コマンドボタン1つ、コマンドボタンを押したときに登録される用にしたい) 各シートの集計にしたい為、各シート(31のシートがあります)に入力フォームがあります、その各シートでの入力結果を1つのシートに 集計したいのですが、どの様なコードにしたらようか判りません。 素人のためお手数ですが、なるべく判りやすくお願いします。 よろしくお願いします。

  • エクセル 入力フォームのデータを別シートに書き込む

    エクセル 入力フォームのデータを別シートに書き込む方法 1.シート1のA2に日付、B2に文字列、C2に金額、D2に個数、E2に合計金額を入力する。 2.内容確認後、入力ボタンを押すと、 Sheet2の集計表リンクさせ、尚且つシート2内で1か月分の集計を取ります。 つまりシート1は入力シートで、同じセルに値を入力します(次回はデータが上書きされる)が、シート2では、集計表の1列ずつ下に新しく記録され1か月分の入力がされていく。 このような入力フォーム(マクロ)を作りたいと思っています。 初めて投稿するので、質問がよく分からないかもしれませんが、 よろしくお願いします。

  • エクセルVBAのユーザーフォーム

    こんばんは、エクセルVBAでユーザーフォームを作成しました。 そこに入力したものがブックに反映するわけですが、フォームに0(ゼロ)を入力した場合、ブック上のセルを選択すると0と入っているのですが、表示されません。なぜでしょう???? これができないとせっかく時間をかけて作ったのに、使えません。どなたかご存知の方よろしくお願いします!!!!

  • エクセルVBAの質問です。

    エクセルVBA初心者です。 入力フォームの内容を,別シートに保存したいのですが,いい方法が分かりません(涙) どなたか知恵を貸してください。 実行したいことの要点をまとめると以下のようになります。 ・保存する別シートのレイアウトは入力ホームとは異なる (一行づつのデータにしたい) ・入力フォームは,内容をクリアして繰り返し使用する ・クリアボタン(作成しなくてもクリアできる場合は不要)と追加ボタンを作りたい @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 以下は,できればやりたいこと。 入力シートは一枚で,反映シート(別シート)は何枚かほしい 項目が合致したときにそれぞれのシートに反映したい。 イメージとしては,学校の授業内容を入力シートに入力(項目は,内容・クラス・担任・教科など) それを担任ごとに反映シートに一行にまとめて,データ保存したい。 文章が下手なので伝っているか不安ですが,よろしくお願いします。

  • EXCELのVBAで、あるワークシートでのみ使うユーザーフォームを作り

    EXCELのVBAで、あるワークシートでのみ使うユーザーフォームを作りました。そのワークシート上での定数や、プロシージャや関数をワークシートのモジュールに置いています。そして、その定数や関数などをユーザーフォームのイニシャライズなどで使いたいと思いますが、ユーザーフォームのモジュールはワークシートのモジュールとは別なので、使えません。他への影響を考えると、標準モジュールには、置くのは不適切だと思います。 特定のワークシート上でのみ使うユーザーフォームと、そのワークシートとで、共通の定数や関数などを使う方法は、あるのでしょうか。どのようにすればよいのでしょうか。

  • エクセルVBA ユーザーフォームからシートの操作

    エクセルでユーザーフォームを用いて 顧客管理データーベース入力フォームを作成しています。 ユーザーフォーム上で入力した値を複数のシートに またがってデーターを入力していくつもりです。 それで困っていることなのですが、 ユーザーフォームを起動したときに、それぞれの シートの空白の場所を変数で記憶させているのですが 以下に示す部分でエラーが発生します。 エラーの原因は、アクティブシートでないので セルを取得できないようなのですが、アクティブでない 場合のselectに変わるやり方ってありませんか? -----sheet1がアクティブな状態で-------------------------------- Dim myRowNo As Integer Dim myRowNoS As Integer --------------------------------------------------------------- Private Sub MyRowNo1()  myRowNo = 4  Sheets("sheet1").Cells(myRowNo, 1).Select  Do Until ActiveCell.Value = ""   myRowNo = myRowNo + 1   Sheets("sheet1").Cells(myRowNo, 1).Select  Loop End Sub ---------------------------------------------------------------- Private Sub MyRowNo2()  myRowNoS = 4  Sheets("sheet2").Cells(myRowNoS, 1).Select <<<<<<<<エラー箇所  Do Until ActiveCell.Value = ""   myRowNoS = myRowNoS + 1   Sheets("sheet2").Cells(myRowNoS, 1).Select  Loop End Sub --------------------------------------------------------------- Private Sub OpenButton2_Click() 'ユーザーフォームボタンをクリック  Call MyRowNo1  Call MyRowNo2 End Sub --------------------------------------------------------------- MyRowNo1と2の間に「Worksheets("sheet2").Select」を入れる と動くようなのですが、呼び出さずに動かす方法ってありますか? 宜しくお願いいたします。

  • ユーザーフォーム入力後の値の貼付け方は?

    EXCELのVBEでユーザーフォームを作成しました。 テキストボックスに入力した値をEXCELシート上に 反映させるにはどのようにすればいいのでしょうか? EXCELシート上ではセルではなくてやはり テキストボックスに値が入るようにしなくてはできないのでしょうか? 初心者です。教えてください!

専門家に質問してみよう