- ベストアンサー
エクセル関数&マクロの質問です。
どなたか、お願いします。 今度は画像にしました。 開けますでしょうか? ↓ http://firestorage.jp/download/2d2687a0ba32e2e2bdd6a8e9327791e859ed9c4f どうか宜しくお願いいたします。 出来ればマクロをご教授くださると嬉しいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
今晩は。マクロがいいとの事なので、勉強になればと思ってさっき作ってみました。 Sub 担当者表示() For 列 = 3 To 7 For 行 = 2 To 6 If Cells(行, 列) = "○" Then Cells(7, 列) = Cells(行, 2) End If Next Next End Sub マクロの起動のさせ方は、 ・Altを押しながらF11 でVBE画面を開く ・画面左側にある「ThisWorkbook」をダブルクリック ・右側の画面に、上のコードをコピー この時点で、画面上の再生ボタン(緑の三角のやつ)を押すと発動します。 準備してくれた画像を見るとボタンも配置する予定のようなので、 ↓ボタンの配置方法とマクロ登録方法 (※ちなみに画像を見る限りExcel2002か2003っぽいんでそのつもりで説明します。) ・エクセル画面上の[表示] メニュー → [ツールバー] → [フォーム] にチェックを入れる。 ・[フォーム] ツール バーが表示されるので、その中の [オプション ボタン] をクリック → シート上にボタンの輪郭を描く → 作成したボタンを右クリックして「マクロの登録」 → 「担当者表示」を選択して「OK」 で準備完了b 今は手元にExcel2007以降しか無いので記憶を頼りに書いてるんで 弱冠言葉に違いがあるかもしれませんけど。。 で、ここからマクロの勉強タイム。 If Cells(行, 列) = "○" Then Cells(7, 列) = Cells(行, 2) End If は、「もし今検索しているセル(Cells(行, 列) )が○だったら 同じ「列」の「7」行目のセル(Cells(7, 列))に、 同じ「行」の「2」列目(つまりB列)のセル(Cells(行, 2))の値をいれなさい」 という意味。 その外側の For 行 = 2 To 6 Next は、上で説明した検索作業を「2行目から6行目まで繰り返しなさい」の意味。 更にその外側の For 列 = 3 To 7 Next は、月曜から金曜まで同じ事をやりたいので、 「3列目から7列目(つまりC列からG列)までやってしまいなさい」の意味。 これからどうぞマクロの勉強頑張って。 プログラム組んでる時間は楽しいよー ^^b
その他の回答 (1)
- hallo-2007
- ベストアンサー率41% (888/2115)
画像を拝見しました。 既にMatch関数で 何行目に ○ があるのか検索していますので =INDEX($B2:$B6,MATCH("○",C2:C6,0)) といった関数で表示できますが VBAでなくてはいけない理由があれば別ですが。
お礼
computer さま ご丁寧な解答本当に有難うございました。 感謝×感謝です^^ 近くにいらっしゃったら、一杯おごってさし上げたくなりますです。はい^^ 早速勉強します。 出来ましたら今後とも宜しくご指導下さい。。。