
No.5ベストアンサー
- 回答日時:
#4です。
>A3以降のセルに「完」と入力して
C列に完と入れる行をつくって頂いていますか。
「完」があるのを聞いている列は、私のコード例では
If Cells(i, "c") = "完" Then
と有るように、C列です。
「完」が入る列がE列なら
If Cells(i, "E") = "完" Then
のように変えます。
この点大丈夫ですか。
>マクロ(sheet1,test2)を実行しましても
私のコードはモジュール名がtest02()と0が入っています。
この点大丈夫ですか。
ありがとうございました!(^○^)!
列を変えましたら出来ました!
ですが、項目の欄にも「完」と入力していたので2行消えてしまいました(00;)
これも要注意ですね!
テストでやっててよかったです!
本当に感謝感謝感謝でございますm(_ _)m
No.4
- 回答日時:
#3です。
Remarkに関して。(1)ActiveCell.EntireRow.Deleteの行はVBE画面の標準モジュールにコピペしないで下さい。みだしの積もりで入れたもの。
(2)>どういった表の配列の場合なのでしょう?
--->VBAを実行すると、どういった表の配列の場合な「る」でしょう?
ということでしたら
元の表の行(且つ列)の順序のままです。順序は保存されます。ForNext文がStepと-1が付いてますが
エクセルVBAでは「行削除は下行から処理」が、(コードが簡単になる、間違いを起こし難い)ポイントなんです。ここで私は良く失敗して、学んだものです。
(3)あと表のデータ部がA1セルから始まっていることを前提にしてます。
第3行目からデータが始まる(1,2行は見出し等)であれば
Sub test02()
d = Range("A3").CurrentRegion.Rows.Count
For i = d + 2 To 1 Step -1
If Cells(i, "c") = "完" Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub
として下さい。
こんな疑問でしょうか。
再度ご回答感謝致しますm(_ _)m
今現在は、新規作成で新しい(データは空の)表を作って
実験していますので、まずimogasiさんのいうように
次の「第3行目からデータが始まる(1,2行は見出し等)であれば」のようにまず表を作ってみました!
ですので、1~2行まで見出し行にしまして、3行目以降がデータの行にしました。(とりあえず、私の場合A2~D2が項目の行でA3~D13をデータのセルにしました)
そして、マクロの編集画面で
Sub test02()
d = Range("A3").CurrentRegion.Rows.Count
For i = d + 2 To 1 Step -1
If Cells(i, "c") = "完" Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub
を貼り付けてみまして、保存しました!
流れとしましては、だいたいこんな感じでよろしいでしょうか?
ですが、例えば、A3以降のセルに「完」と入力して、マクロ(sheet1,test2)を実行しましても、何も起こらないのですが、根本的にやり方が違うのでしょうか(T_T)
何度もすみません。もう少しだけお付き合いして頂けませんか?m(_ _)mお願い致します
No.3
- 回答日時:
(1)関数による解決
基本的なことを覚えておいてください。
「エクセルの関数では、行、列、シートの挿入や削除
は行えません」
あとセルに色を付ける(変える)とかも出来ません。
その理由は、エクセルは「セルに関数は値を返す」もので
、それにエクセルが限定しているからです。
関数は、VBAで、オブジェクトとかプロパティとか言われるもののなかで、セルのプロパティの「Value」だけを扱うものです。
別シートに、「元のセルに「完」の入った行」を除いて、その他の行を持ってくることは可能です。(注)
(2)VBAでは行削除が可能です。
ActiveCell.EntireRow.Delete
Sub test02()
d = Range("A1").CurrentRegion.Rows.Count
For i = d To 1 Step -1
If Cells(i, "c") = "完" Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub
(3)手操作によって実現することは、ご存知可能です。
(注)
Sheet1のA1:C6に
山田福岡市1
大山熊本市完1
山下島原市2
上野宮崎市3
野上鹿児島市4
上原大分市完4
といれて(上記」D列は初め空白)
D列D1に
=COUNTBLANK($C$1:C1)と入れてD6まで複写。
上記のようになる。
Sheet2のA1に
=OFFSET(Sheet1!$A$1,MATCH(ROW(),Sheet1!$D$1:$D$10,0)-1,0)と入れてA4まで複写。
B1に=OFFSET(Sheet1!$A$1,MATCH(ROW(),Sheet1!$D$1:$D$10,0)-1,1)といれてB4まで複写。
結果Sheet2に
山田福岡市
山下島原市
上野宮崎市
野上鹿児島市
式を複雑にしないための部分があります。なぜB4までか、なぜ$D$10までなのか問わないでください。
この回答への補足
ごアドバイスありがとうございますm(_ _)m
>(2)VBAでは行削除が可能です。
ActiveCell.EntireRow.Delete
Sub test02()
d = Range("A1").CurrentRegion.Rows.Count
For i = d To 1 Step -1
If Cells(i, "c") = "完" Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub
コードに関して質問してはダメでしょうか?
これをこのまま貼り付けた場合、どういった表の配列の場合なのでしょう?
それだけ教えて頂きましたら、あとは「どの個所をどう変えたらどうなるか…」とかは自分で実験してみます。
お願いしますm(_ _)m
No.2
- 回答日時:
例とした以下のようなマクロを組みます。
●A列が「済」や「完」の場合その行が削除されます。
網掛には対応していません。
●最初に検索開始と終了の行を入力して使います。
「済」や「完」を含み文字列の場合はプログラムを
修正する必要があります。
●(注意)実際に行が削除されますので重要なファイルのコピーを必ず取って置いてください。 !!!
●マクロはあくまでも参考例なので適当に
修正して下さい。
Sub Macro1()
'
'
Dim y, y1, y2 As Integer
Dim s1, s2, s3 As String
'------行の入力-------------------
y1 = InputBox("検索を開始する行番号")
y2 = InputBox("検索の最後の行番号")
For y = y1 To y2
s1 = "A" & CStr(y)
Range(s1).Select
s2 = ActiveCell.Value
Ok = 0
'---------A列の条件を検索-------------
If s2 = "完" Then
Ok = 1
ElseIf s2 = "済" Then
Ok = 1
End If
If Ok = 1 Then
s3 = CStr(y) & ":" & CStr(y)
Rows(s3).Select
Selection.Delete Shift:=xlUp
End If
Next y
End Sub
この回答への補足
具体的なコードを教えて頂きましてありがとうございますm(_ _)m
私はまだマクロに対して素人なのですが、まずVisualBasicEditorというのを開いてみまして…、いったんそのコードを貼り付けてみました…。
そして
検索する表の列は「A列」に揃えてみまして、
>y1 = InputBox("検索を開始する行番号")
>y2 = InputBox("検索の最後の行番号")
の中の「検索を開始する行番号」の所に「2(←開始の行が2行目からなので)」「検索の最後の行番号」の所に「13(←最後の行が13行目なので)」と入力して、マクロを実行してみたのですが、どうもうまくいきません…。
そもそもやりかたが違うのでしょうか?
コードを入力、編集してまでマクロを扱った事がありませんので、もしよろしければ、すみません、もう一度教えて頂けませんか?m(_ _)m
No.1
- 回答日時:
関数では存在しません。
方法1
「済」や「完」の列で並び替えて、削除する。
方法2
「データ」「フィルタ」「オートフィルタ」で
「済」「完」を非表示に設定する。
(消去ではないのでファイルサイズは減りません。)
方法3
VBAで削除する。
この回答への補足
ご回答感謝致します!
>「データ」「フィルタ」「オートフィルタ」で
「済」「完」を非表示に設定する。
例えば、あるセルが「済」となった行を非表示にするには「手動」でするしかないでしょうか?
非表示でもそれが「自動化」できましたら、それも有効的な方法かも知れません!
たびたび質問で申し訳ありませんが、ご存知でしたらよろしくお願いしますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Excel(エクセル) 【エクセル】COUNTIFの検索条件が可変する数字の場合の数式 1 2022/09/27 15:34
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Excel(エクセル) Excelの関数で実現可能か知りたいです 5 2023/08/06 08:58
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- その他(Microsoft Office) エクセルの関数について 4 2022/07/30 16:42
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
【お題】 『寿司』がテーマの本のタイトルを考えてください
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
条件に応じて特定の行を非表示にしたい
Excel(エクセル)
-
EXCELで条件に合わない行を削除して詰めて新しいシートに表示したいのですが
Excel(エクセル)
-
エクセル・条件付で行を削除する方法
Excel(エクセル)
-
-
4
エクセル 指定した文字列を含む列を削除するには
Excel(エクセル)
-
5
エクセルで特定の行を削除したいのですが。
Excel(エクセル)
-
6
エクセルで特定の列が0表示の場合、その行を非表示にしたい
Excel(エクセル)
-
7
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
8
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
9
エクセル2016の特定の文字列を含む行を削除
Excel(エクセル)
-
10
エクセルで特定の文字列が入った行を非表示にしたい
Excel(エクセル)
-
11
条件が合致する列を削除したい(VBA)
Excel(エクセル)
-
12
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
13
エクセルで特定の文字が入ってる列を削除方法
Excel(エクセル)
-
14
エクセル if文で偽判定のとき、何も起こらないようにしたいのですが・・・
Access(アクセス)
-
15
Excelで、任意の言葉で始まる行のみを、行ごと一括で削除する方法を教
Excel(エクセル)
-
16
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
17
毎日の日計を別シートに自動で更新、反映させたい
PowerPoint(パワーポイント)
-
18
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
19
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
20
空白セル内の数式を残したままで空白セル扱いとしたいのですが
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
システムファイルについて
-
別のシートの指定列の最終行を...
-
Excelファイルを開くと私だけVA...
-
Excel関数の解決方法
-
自動的に日付入力 応用
-
エクセルで、数字の下4桁の0を...
-
スプレッドシートでの数値集計
-
UNIQUE関数の代用
-
Excel 日付の表示が直せません...
-
カーソルを合わせてる時のみ行...
-
Vba アドインソフトのバージョ...
-
エクセルの設定、下へスクロー...
-
エクセルの設定、特定の列以降...
-
Excelの関数を教えて下さい。
-
Excelの条件付き書式のコピーと...
-
Excelでプルダウン選択(I1セル)...
-
Vbaをバッチ処理で動かす方法に...
-
エクセルでオートフィルタが動...
-
Excelで、すでに書いてある表を...
-
エクセルの『共有作業』につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
Excelの条件付き書式のコピーと...
-
vba 印刷設定でのカラー印刷と...
-
VBA の単語の意味を教えて下さい。
-
Excel 日付の表示が直せません...
-
エクセル 同じ行の隣り合う数字...
-
エクセル条件付き書式について。
-
エクセルの数式につきまして
-
ファイル名の変更
-
エクセル 数字のみ抽出につて
-
Excelの開始ブックを固定したい...
-
エクセルの数式について教えて...
-
エクセルのセルをクリックする...
-
=INDIRECT(RIGHT(CELL("filenam...
-
エクスプローラーで見ることは...
-
Excelの関数で質問です
-
至急お願いいたします 屋上の備...
-
エクセルでセルに入力する前は...
-
関数を教えて下さい
-
Excel 関数での質問です
おすすめ情報