• ベストアンサー

エクセル関数&マクロの質問です。

どなたか、お願いします。 今度は画像にしました。 開けますでしょうか?    ↓ http://firestorage.jp/download/2d2687a0ba32e2e2bdd6a8e9327791e859ed9c4f どうか宜しくお願いいたします。 出来ればマクロをご教授くださると嬉しいです。

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

  • ベストアンサー
  • camputer
  • ベストアンサー率64% (22/34)
回答No.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

baseball_b
質問者

お礼

computer さま ご丁寧な解答本当に有難うございました。 感謝×感謝です^^ 近くにいらっしゃったら、一杯おごってさし上げたくなりますです。はい^^ 早速勉強します。 出来ましたら今後とも宜しくご指導下さい。。。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

画像を拝見しました。 既にMatch関数で 何行目に ○ があるのか検索していますので =INDEX($B2:$B6,MATCH("○",C2:C6,0)) といった関数で表示できますが VBAでなくてはいけない理由があれば別ですが。

関連するQ&A