• ベストアンサー

エクセルの条件によってセルをつめる方法

検索するも良い言葉が思いつかず解決できません。 文章がわかりづらいかもしれませんが宜しくお願いいたします。 ・Sheet1で日付と曜日の行の下の行に「1」もしくは「0」を入力する。 ・Sheet2に「1」の行の日付と曜日だけを表示する (「0」の日付と曜日の行はつめて表示) 宜しくお願いいたします!!

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

  • ベストアンサー
  • kuma3f
  • ベストアンサー率63% (28/44)
回答No.2

思われていることと違っていましたらすみません。 参考までに次のコードをマクロに貼り付けて実行してみてください。 元を壊してはいけないので、Bookをコピーして試してみてください。 メニューバーの「ツール」→「マクロ」→「マクロ」をクリック  ↓ マクロのダイアログが表示されたらマクロ名に自由に名前を入力してください。(例:抽出)  ↓ 名前を入力しましたら、「作成」をクリック  ↓ Microsoft Visual Basicの画面が開きますのでSub 抽出()の下に次のコードをコピーして貼り付けてください。 Dim 横カウント As Long Dim 縦カウント As Long 横カウント = 1 縦カウント = 1 Sheets("sheet2").Cells.ClearContents Do '3行目が「1」の1行目と2行目を抽出する If Sheets("sheet1").Cells(3, 横カウント) = 1 Then Sheets("sheet2").Cells(縦カウント, 1) = Sheets("sheet1").Cells(1, 横カウント) '1行目 Sheets("sheet2").Cells(縦カウント, 2) = Sheets("sheet1").Cells(2, 横カウント) '2行目 縦カウント = 縦カウント + 1 End If 横カウント = 横カウント + 1 Loop Until 横カウント > 256 Sheets("sheet2").Select MsgBox "抽出しました" '****コピー貼り付けはここまで **** Microsoft Visual Basicの画面を×で閉じます  ↓ Excel画面のメニューバーの「ツール」→「マクロ」→「マクロ」をクリック  ↓ 先ほど名前を付けたマクロを選択して「実行」をクリック

soma100
質問者

お礼

できました!!見事に!! お手数をおかけいたしました。 ありがとうございます!!

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

シート1・2の簡単な構成イメージを明示した方が文書で表現するより分かり易いと思いますので補足して下さい。

soma100
質問者

補足

補足が遅くなりました。説明足らずですみません。 【シート1】 1行目日付…A1→1日 B1→2日 C1→3日 D1→4日 E1→5日 2行目曜日…A2→月  B2→火  C2→水  D2→木  E2→金 3行目0か1…A3→1  B3→0  C3→1  D3→0  E3→1 【シート2】シート1・3行目の1と入力したの曜日と日付だけをまとめて表示する 1行目…A1→1日 B1→月 2行目…A2→3日 B2→水 3行目…A3→5日 B3→金 シート2に何らかの方法でシート1から簡単にまとめる方法はありますか??なにか説明不足の場合また補足いたします。 よろしくお願いいたします。

関連するQ&A