EXECLでif文実施結果でFALSE行が発生してしまいます。
この行を自動で消す方法はありますでしょうか?
マクロで実施する方法でもご存知でしたらご教授願います。
例
sheet1 sheet2
A B C D A B C D
1 11 12 a x 1 11 12 a あいう
2 11 12 b x ⇒ 2 FALSE FALSE FALSE FALSE
3 11 12 a x 3 11 12 a あいう
4 11 12 b x 4 FALSE FALSE FALSE FALSE
sheet2A1にif=('sheet1'!C1="a",'sheet1'!A1)
B1にif=('sheet1'!C1="a",'sheet1'!B1)
C1にif=('sheet1'!C1="a",'sheet1'!C1)
D1にif=('sheet1'!C1="a","あいう")
として、これを1行目のif文を下にコピーして使用しています。
又、もっと効率のいい方法がある!
と言った答えもいただけたら非常に助かります。
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
こんばんは!
せっかく数式をお考えですので、極力お示しの数式に近い形で・・・
Sheet2のA1セルに
=IF(Sheet1!$C1="a",Sheet1!A1)
Cの前に$マークを入れておきます。列だけ固定の複合参照になりますので、これをC1セルまでオートフィルでコピーしておきます。
D1セルはそのままの数式でOKだと思います。
A1~D1セルを範囲指定し、D1セルのフィルハンドルで下へずぃ~~~!っとコピー!
最後にVBAになってしまいます。
画面左下にあるSheet2のSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1) = False Then
Rows(i).Delete (xlUp)
End If
Next i
End Sub 'この行まで
マクロを実行するとFALSEの行が削除されるはずです。
参考になれば良いのですが・・・m(__)m
No.8
- 回答日時:
対象があいまい。
シート2での削除か。
結果から想定すると
シート1でシート2にFALSEと出る2行目4行目を削除する。
シート1はそのままでシート2にFALSEと出るなら表示しないで上に詰める。
シート2の結果をいったん出してから削除する。
対応後は
シート1の3行目の結果がシート2の2行目である。以後また使うブックであればこれでいいのか。
削除結果はせめてシート3とか別のが望ましい。
削除するが、元に戻したりシート1の2行目結果はみることはないか。
いろいろ補足は必要でしょう。
No.7
- 回答日時:
、「全体として何がしたいのか」説明してみてください。
ーーー
普通のVBAのコードと違う得意な考えお呼びコーディングをやろうとしていると思う。
質問者は、熟達者なのか、初心者か。初心者なら根本的に、今後エクセルの標準のコーディングを勉強した方が良い。
普通はVBAでやるなら、
IF A=B Then
'処理X
Else
’処理Y
End IF
とかく。
初心者は上記コードは、AがBと等しいか判断していると解釈するが、結果が同じなのだが、実はA=Bだけ取り上げてTrueかFalseが判断し結果が導出され、そのTrueの場合が処理Xを行い、Falseの場合に処理Yを行うよう指示するコードなのだ。
根本では機械語的には比較すると真偽のフラグが立ち、それのON・OFFを判断しているのだ。
だからそこまで行くと、質問者の質問者の書いていることになんとなく近いが、普通はそんな考えを持ち出さない。
ーー
この場合Aは何で、Bは何か説明し、「全体として何がしたいのか」説明してみてください。
そしたらVBAとして普通のコードの回答が付くと思う。
回答者は質問者に釣られて、その延長の回答を載せることを目にするが(それが親切と言う考えもあろうが)私は根本から、VBAを使う場合の、考え方や、コード方法の是非を判断し納得したい。
No.5
- 回答日時:
関数だけで対応するなら、Sheet2のA1セルに以下の式を入力し右方向に3つ下方向に適当数オートフィルしてください。
=INDEX(Sheet1!A:A,SMALL(INDEX((Sheet1!$C$1:$C$100<>"a")*1000+ROW($A$1:$A$100),),ROW(A1)))&""
D1セルには以下の式を入力して下方向にオートフィルしてください。
=IF(A1="","","あいう")
No.3
- 回答日時:
IF文にFALSEの時の処理が記述されていないので、FALSEと表示されています。
以下の様にFALSEの時には空白を入れるようにしましょう。
=IF(Sheet1!C1="a",Sheet1!A1)
↓
=IF(Sheet1!C1="a",Sheet1!A1,"")
No.2
- 回答日時:
一例です。
(操作はエクセル2003以下で記載)現状のSheet2の先頭に行を挿入→先頭行も含みデータ範囲を選択→データ→フィルタ→オートフィルタ→
任意の列先頭に表示されたフィルタボタン押下→オプションでFALSEを選択→OK→
抽出された行番号を選択→右クリックで行の削除→オートフィルタ解除、先頭行を削除
No.1
- 回答日時:
Ctrl+Gで、ジャンプを呼び出す。
「セル選択」ボタン
数式にチェック
論理値にチェック
数値
文字
エラー値のチェックをはずす
OKボタン
これでFALSEがすべて選択されます。
で、編集から削除で、行全体を削除を選びます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について教えて...
-
Excelカスタム関数(アドイン登...
-
Excelデータをコピペして、ペー...
-
Excel関数-文字列で自動作成さ...
-
スプレッドシート、Excelでの数...
-
Excelで50個のセルに同じ文字を...
-
Microsoft Officeの中古は信用...
-
スプレッドシートで使う数式を...
-
エクセルVBA、別ブックへ転記す...
-
エクセルで会社の従業員のデー...
-
エクセルで不等号記号(≠)が上に...
-
エクセルの表で1年間の曜日を...
-
A列とB列を参照してC列に連番を...
-
エクセルの空欄をつめて、次の...
-
エクセルでの特別な文字を上に...
-
エクセルでセルに標準で入力さ...
-
エクセル日付 文字列の関数がエ...
-
エクセル2013で月間勤務表から...
-
エクセルの日付を編集する
-
EXCELの質問です 119から足した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報