
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ランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのVBAで集計をしたい
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセルのdatedif関数を使って...
-
【画像あり】オートフィルター...
-
【マクロ】アクティブセルの時...
-
【マクロ】列を折りたたみ非表...
-
他のシートの検索
-
【マクロ】3行に上から下に並...
-
【条件付き書式】シートの中で...
-
ページが変なふうに切れる
-
【マクロ】実行時エラー '424':...
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】【相談】Excelブック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報