- ベストアンサー
C列の下4桁の数字「0926」以下の行の削除方法についてのコード
- C列の下4桁の数字が「0926」以下の行から上へ、Rows(2)までを全部削除するコードを作成したいです。
- C列の数字は必ず7桁か8桁で、上2桁は月数字1~12を表します。下行へ行くに従って、数字は増えていきます。
- 具体的なコードの作成方法を教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- C列の下4桁の数字 「0926」 以下の行を削除するには?(例外)
似たような質問で、申し訳ございません。 http://oshiete1.goo.ne.jp/qa2985040.html 今回は、以前にしました質問の、 「 例外の場合 」 の質問でございます。(前回質問は、解決しております) C列の下4桁の数字 「0926」 以下の行を削除したいと思っております。 下記コードで実行した場合、下記例の場合は、「 Rows(2) 」 ~ 「 Rows(4) 」 はきちんと削除します。 このコードを C列のデータのある最終行から上へ順に参照して行き、最初に 「 0926 」以下の数字があったら、その行から上へ 「 Rows(2) 」 までの行を全部削除するにはどのようなコードになりますでしょうか ? つまり、下記実行後のように「 Rows(2) 」 ~ 「 Rows(9) 」 を削除するにはどのようなコードになりますでしょうか ? C列の数字は必ず、7桁か8桁です。(上2桁は月数字1~12のためです) 何卒、ご教示くださいませ。 --------------------------------------------- Private Sub 指定数字以下の行を削除() Dim i As Integer On Error Resume Next For i = 1 To Worksheets.Count - 1 '--------- With Worksheets(i) Do While Val(Right(.Range("C2"), 4)) <= 926 And .Range("C2") <> "" .Rows(2).Delete Loop End With '--------- Next i End Sub ---実行前------------------------------------ C 数字 4030907 4030914 4030923 4030931 4030940 4030947 4030914 4030923 4030931 4030940 ---実行後------------------------------------ C 数字 4030931 4030940
- ベストアンサー
- オフィス系ソフト
- 空白行を削除して上へ詰めたい
例えば、画像のように 1行目から10行目の間に適当に値が入ってるとします。 その中で、行に何も入っていないのなら、削除して上へ詰めたいのですが どのようなコードを書けばいいでしょうか? 該当の行の1列目から256列目のどの列にも値が入ってないのが条件です。 自分なりに考えたのですが ---------------------------------------- Sub test1() Dim i, gyou As Long For gyou = 1 To 10 '最終行 i = WorksheetFunction.CountA(Rows(gyou)) If i = 0 Then Rows(gyou).Delete gyou = gyou - 1 '削除すると行がずれる End If Next End Sub ---------------------------------------- Sub test2() Dim i, gyou As Long gyou = 1 Do While gyou <> 10 i = WorksheetFunction.CountA(Rows(gyou)) If i = 0 Then Rows(gyou).Delete Else gyou = gyou + 1 End If Loop End Sub ---------------------------------------- どちらも、なぜか無限ループになってしまいます。 どうすればいいか教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルで数字の下1桁を見て並び替える
エクセルで下記の様な数字が並んでいます。 A列の下1桁の数字は上から順に増えていて、ある数字で1に戻りまた増えています。 その数字は毎回同じではなく、6までの場合もあれば10までの場合もあります。 下記の例では上から6行、次は4行、次は7行と下1桁の数字によってグループ分け出来ますよね? それで上から6行目までのB列の値(462~530)をコピーしてSheet2のA1から横方向に並べます。 その次は7行目から10行目までのB列の値(356~487)をコピーしてSheet2のA2から横方向に並べます。 その次も同じように並べます。 B列が空欄の場合もありますが、その場合はそのままSheet2にも空欄のセルを作ります。 1グループ全部のB列が空欄でもそのままSheet2に空欄の行を作ります。 この動作をマクロで出来る式を教えて頂けないでしょうか? A列 B列 0213240101 462 0213240102 387 0213240103 556 0213240104 585 0213240105 536 0213240106 530 0213240201 356 0213240202 632 0213240203 486 0213240204 487 0213240301 586 0213240302 670 0213240303 619 0213240304 0213240305 645 0213240306 487 0213240307 651 0213240401 0213240402 0213240403 0213240501 455 0213240502 623 0213240503 411 Sheet2 A列 B列 C列 D列 E列 F列 G列 462 387 556 585 536 530 356 632 486 487 586 670 619 645 487 651 455 623 411
- ベストアンサー
- オフィス系ソフト
- 特定の文字を含まないセルの行を削除するには
いつもお世話になっております。 特定の文字列(下記では"0610")を含まないセルの行を削除するプログラムを組むにはどのようにしたどのようにしたらよいのでしょうか。 以下のようなプログラムを組んでみました。 Sub test() Dim i As Long With Range("C1") For i = .CurrentRegion.Rows.Count To 1 Step -1 If .Offset(i, 0) <> "0610*" Then .Offset(i,0).EntireRow.Delete Next i End With End Sub しかしこれでは先頭行を残し全ての行が削除されてしまいます。 IF文の"<>"がうまくないのだと思いますが、Like演算子の反対のようなものはありませんでしょうか。ご教授いただければ幸いです。 *ちなみに上のプログラムは'06年10月以外のデータは削除するために作ったものです。
- ベストアンサー
- Visual Basic
- EXCELVBAで行の削除
WIN98SE EXCEL2000です。 G列に99の文字があったらその行を削除するというVBAを下記のように作りました。 Dim i As Integer Dim rowcount As Integer rowcount = Cells(1,1).CurrentRegion.Rows.Count For i = 1 To rowcount If Cells(i, 7) = "99" Then Rows(i).Delete Next i これを実行するとG列に99のある行が連続してあると1行おきに削除されます。どこをなおせばよいのか教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 例えばC列の特定数字の削除
C列3,000行のうちに、例えば30の数字40行ほどあります。 この40行ほどの数字を削除したいですが方法を教えて下さい。 削除がダメなら数字に色を付けるとかの方法をお願いいたします。
- ベストアンサー
- オフィス系ソフト
- A列の最終行までハイパーリンクを付けたい
A列の最終行までハイパーリンクを付けたいのですがコードがわかりません。 Sub test() Dim i As Long For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row 'ハイパーリンクにするコード Next i End Sub まではわかりました。 表示文字列もURLもセルに入ってる値にしたいです。 ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- A列に特定の文字と数字があればその行を削除
A列には大半が文字が入力されており特定の文字"自分"と一部数字があればその2,3,4行を削除し以下のように行を詰めたいのですがどなたかVBAコードの解る方お願いします。 A B C 1 鈴木 あ い 2 自分 う え 3 123 お あ 4 368 え う 5 江藤 え う ↓ A B C 1 鈴木 あ い 2 江藤 え う
- ベストアンサー
- Visual Basic
- VBAについての質問です。日付を条件に入れて行削除をしたいのですが、うまくいきません。
VBAの初心者です。よろしくお願いします。日付の条件を入れて行を削除したいと考えていますが、エラーになります。何故でしょうか? コードは以下のようにしています。 よろしくお願いします。 Sub 日付条件で行削除() Dim hiduke As Double Set hiduke = "2009/4/30" For i = 16 To 12 Step -1 If Cells(i, "a") <= hiduke Then Rows(i).Delete End If Next End Sub
- ベストアンサー
- オフィス系ソフト
- エクセルで7桁以下の数字は行ごと削除したい
エクセル、初心者です。 エクセルで7桁以上の数字のみ抽出したいです。 6桁以下の数字だけ色がつくなり抽出出来れば削除が可能なのですが、何か良い方法はありませんか? ちなみに、エクセルのA1に一列に並んでいます。 緊急で答えを知りたいです汗汗汗
- ベストアンサー
- その他(ビジネス・キャリア)
- バージョンアップ料金クレジットカードにて、引落し時期にカード登録をしていなかったので、2023/9/25にカード登録をしたが引き落としが過ぎている場合、Ver.28へのバージョンアップは、どうしたら出来ますか?
- order2@sourcenext.infoはソースネクストeSHOPの代理(差出人)メールが届き10月12日に引き落としができないカード会社に確認すると削除された末尾9300で現在使用のカードも停止されている。
- 10月13日ソースネクストのカード登録確認すると(2023/9/25にカード登録をソースネクストにした現在使用中のカードで間違えはなかった。次の引き落とし日は、11月15日から16日とあるが、普通、引き落とし日に落とせなかったら取引は中止とおもいますがソースネクスト株式会社からの電話の問い合わせもない。eSHOPの代理メールでのhttps:が記載されているがこれておかしいと思いますがどうでしょうか?ソースネクストに問い合わせたいが電話番号がわからない教えて貰えませんか?
お礼
ご返事、遅くなりまして、申し訳ありませんでした。 ご回答、誠に有難うございました。 バッチリでした。