- 締切済み
エクセルのマクロを教えてください。
マクロの初心者です。 特に変数が全く使えず、下記もどのように記載していいのかわからないため教えていただけないでしょうか。 ユーザーフォームのtextbox2に開始番号があります。 textbox3に本数があります。 sheet1のB12セルには開始番号が入ります。 開始番号から本数分+1したものを順番にセルに入っていくようにしたいです。 ただ、入れたいセルが横→左下(開始番号の列)→横→左下(開始番号の列)・・・としたいため、どのように書いていいのかわかりません。 地道に書くのであれば、下記のようになると思うのですが、変数を使って書く場合はどのようになるのか教えていただけないでしょうか。 Worksheets("Sheet1").Range("B12").Value = TextBox2.Value If TextBox3.Value = 2 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 ElseIf TextBox3.Value = 3 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 ElseIf TextBox3.Value = 4 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 ElseIf TextBox3.Value = 5 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 Worksheets("Sheet1").Range("B14").Value = TextBox2.Value * 1 + 4 ・ ・ ・ End If
- みんなの回答 (6)
- 専門家の回答
補足
imogasiさん 引き続き回答、コメントありがとうございます。 1)に関しては調べると*1とValが出てきました。*1の方が覚えやすく、今後も使っていけそうかなと思い使用していました。ただ、アドバイス頂いたようにValを使っていけるように頑張ります。 2)引き続きつたない説明でご迷惑おかけして申し訳ありません。 製造現場での作業報告書の作成を簡単に出来ないかとの取り組みがそもそもの発端です。 やりたいのはロット№を必要な行に必要な分だけ入力できるようにしたいです。 1個1個入力したらいいのですが、開始のロット№と何本製作するかを入力し、コマンドボタンを押せば必要な分だけロット№が報告書に入力されるようにと思って作っています。 テキストボックスが2個あるのは開始番号(textbox2)と、何本製作するか(textbox3)になります。 報告書に準備されているロット№の入力枠は12個までです。 それに関しては12より大きい数字を入れたらexit subとなるようにすればいいのかと思っています。 実行前は記載していただいた通り入力前は空欄です。 コマンドボタンを押して入力するようにしていますが、コマンドボタンを押すといったん入力に必要な場所(ロット№を入れる予定の最大12個の枠、B列とG列)をクリアするようにしています。 また、以降に書いていただいている指摘はごもっともで、ほんとに申し訳ないです。 表現が下手なくせに、具体的に細かく書いていないことで、回答者の皆さんにご迷惑おかけしています。 泥臭くても良いので、出来るだけ細かくしっかりと記載するように注意します。 普段人に説明するときに注意していることが、全く出来ていません。 シンプルに伝えられないなら、泥臭くてもしっかりと。申し訳ありません。 重ね重ね申し訳ないのですが、長期連休中に続きを行うことが出来ません。 質問を投稿するタイミングを間違えました。 本日最終日でバタバタしており、最初の回答いただいた分もまだ咀嚼出来ていない状態です。 休み明け改めて内容確認する必要があります。 ほんとにいろいろ申し訳ありません。また、いろいろありがとうございます。 よろしくお願いします。