- 締切済み
エクセルのマクロに詳しい方。
現在、表を作っております。 そこで、 Aの行に追加があるごとに機械名とデータを入力していきたいのですが たとえば A1に『機種名』A2に『データ(数値)』A3『データ(数値)』A4・・・ といった感じでインプットボックス?みたいなのを 使って一括入力するにはどのようなマクロになりますか? できれば、プロシージャまで書いていただけると うれしいです。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- miwaki
- ベストアンサー率36% (14/38)
エクセルの分かった人が使うにはマクロを組むまでもなく#3の回答でよろしいかと思いますが、いまだ質問者が満足せず、マクロにこだわっているところを見ると、どうやらエクセルののわからない人に簡単に入力してもらえるようなマクロを求めておられるのではないかと思います。そこで一例を下に記述します。 Sub Macro1() Sheet2.Select R = Range("A65536").End(xlUp).Row+1 Range("A" & R) = Sheet1.Range("A2") Range("B" & R) = Sheet1.Range("B2") Range("C" & R) = Sheet1.Range("C2") Sheet1.Select Range("A2:C2").ClearContents Range("A2").Select End Sub 上記は、sheet1のA2からC2の三つのセルに入力されたデータをsheet2のデータ一覧に書き加えるマクロです。 しかしこれは基本中の基本であって、データが空白の場合とか同じデータの場合とかにどうするかとか更に考えて付け加えなきゃならないことがいっぱいあります。
- Unryuu
- ベストアンサー率0% (0/1)
縦横を入れ替えられるのであれば、 [データ]→[フォーム] を使うことでおっしゃっているような機能を使うことができると思います。 A1に「機種名」B1に「データ(数値)」C1「データ(数値)」D1「データ(数値)」・・・ という、横型の表になります。
- papayuka
- ベストアンサー率45% (1388/3066)
> できれば、プロシージャまで書いていただけると > うれしいです。よろしくお願いします。 プロシージャなんて出てくるようなら知識はあるのでしょう? 丸投げもどうかと感じますが、、、 ちょっとイメージが解らないので外してるかも。 UserForm に TextBox をいくつかと CommandButton を置いて、 CommandButton の Clickイベントに書きます。 (TextBox や Button のオブジェクト名は変更しない事) Private Sub CommandButton1_Click() Dim cont As Control, r As Range, i As Integer Set r = ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0) For Each cont In Me.Controls If TypeName(cont) = "TextBox" Then i = Val(Mid(cont.Name, 8, Len(cont.Name))) r.Offset(0, i - 1).Value = cont.Value End If Next cont End Sub あとは標準モジュールに Sub FormShow() UserForm1.Show End Sub とでもして、ボタンやシェイプにでも割当てる。
- KenKen_SP
- ベストアンサー率62% (785/1258)
通常は単票入力用のユーザーフォームを作ります。 が、文字でしか表現できない掲示板の制限がある以上、これを説明することは非常に困難です。 御希望の動作でしたら、データ範囲を選択して、EXCELメニュー[データ]-[フォーム]からでも可能ですが、ダメですか?
補足
ありがとうございます。 やっぱり難しいですか… フォームからではなく、パソコン苦手な人でも 簡単に入力できるようにしたいもので。 ちなみに 機種名 『○○○』 値段 『○○○』 みたいに分かりやすくやりたいんです。 すいませんが…よろしくお願いします。
お礼
そうですね。 ありがとうございました。 少しずつ頑張っていきます