[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでセルの削除を行いたい』(イチゴパフェ)
F列にブランクのセルがある場合に
指定範囲(C列からF列)のセルの削除を行いたい
セルの削除後⇒上方向にシフトを行う
また、この削除する範囲も指定する事は可能でしょうか?
1・2行目はタイトルなどに使用
3行目から50行目ぐらいまで表があり
また、60行目ぐらいから別の表がある為です。
C列が3行目から下にCTRL+↓をしたところが表の最終行になります。
それ以降は別の表になる為セルの削除を行いたくありません。
普段は目検で行っています、自動でできれば結構楽になるので…
宜しくお願いします。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
>セルの削除後⇒上方向にシフトを行う これはF列の空白セルがあった行のうち、C列からF列だけ削除して上に詰めたいということですか? それとも、行全体を削除でしょうか? (フォーキー) 2023/02/02(木) 11:07:19
>セルの削除後⇒上方向にシフトを行う C列からF列だけ削除ですね。すみません。 (フォーキー) 2023/02/02(木) 11:10:21
Sub test() Dim i As Long For i = Range("A1").CurrentRegion.Rows.Count To 3 Step -1 If Cells(i, "F") = "" Then Cells(i, "F").Offset(, -3).Resize(, 4).Delete shift:=xlUp End If Next End Sub
|[A] |[B] |[C] |[D] |[E] |[F] [1]|見出し1|見出し2|見出し3|見出し4|見出し5|見出し6 [2]|見出し1|見出し2|見出し3|見出し4|見出し5|見出し6 [3]| 1| 1| 1| 1| 1| 1 [4]| 2| 2| 2| 2| 2| 2 [5]| 3| 3| 3| 3| 3| [6]| 4| 4| 4| 4| 4| 4 [7]| 5| 5| 5| 5| 5| 5 [8]| 6| 6| 6| 6| 6| [9]| 7| 7| 7| 7| 7| 7
結果図
|[A] |[B] |[C] |[D] |[E] |[F] [1]|見出し1|見出し2|見出し3|見出し4|見出し5|見出し6 [2]|見出し1|見出し2|見出し3|見出し4|見出し5|見出し6 [3]| 1| 1| 1| 1| 1| 1 [4]| 2| 2| 2| 2| 2| 2 [5]| 3| 3| 4| 4| 4| 4 [6]| 4| 4| 5| 5| 5| 5 [7]| 5| 5| 7| 7| 7| 7 [8]| 6| 6| | | | [9]| 7| 7| | | | 11:49修正 (フォーキー) 2023/02/02(木) 11:45:39
■2
>C列が3行目から下にCTRL+↓をしたところが表の最終行になります。
ということはC列には歯抜けがなく、かつ、少なくとも3〜4行目までは表のデータ範囲と解釈してよいですね。
■3
「■1」「■2」いずれもYESならば、↓のようなアプローチでもよいと思います。
Sub 研究用() Stop 'ブレークポイントの代わり Dim ブランクセル As Range Dim 最終行 As Long
With ActiveSheet 最終行 = .Range("C3").End(xlDown).Row On Error Resume Next Set ブランクセル = .Range("F3:F" & 最終行).SpecialCells(xlCellTypeBlanks) On Error GoTo 0
If Not ブランクセル Is Nothing Then Intersect(ブランクセル.EntireRow, .Range("C:F")).Delete shift:=xlUp End If End With End Sub
■4
>また、この削除する範囲も指定する事は可能でしょうか?
質問がよくわかりませんが、【列】を指定したいということならば、上記のコードをよく見て、どこで「C〜F列」を指定してるか研究されてみてはいかがでしょうか。
(もこな2) 2023/02/02(木) 12:33:37
|[A] |[B] |[C] |[D] |[E] |[F] [1] | | |部署別集計 66期1月| | | [2] | | | | | | [3] |CON1 |CON2 |部門 |作成者|作成者名 |伝票行数 [4] |M119507 集計|M419902 集計|M1 | 19507|PI200 | 167 [5] |M121602 集計|M441001 集計|M1 | 21602|PI201 | 90 [6] |M122107 集計|M422101 集計|M1 | 22107|PI202 | 30 [7] |M120403 集計|M419512 集計|M1 | 20403|PI203 | 37 [8] |M163166 集計|M419807 集計|M1 | 63166|PI204 | 38 [9] |M119304 集計|M420303 集計|M1 | 19304|PI205 | [10]|M120915 集計|M419606 集計|M1 | 20915|PI206 | [11]|M120914 集計|M420414 集計|M1 | 20914|PI207 | [12]|M119312 集計|M419901 集計|M1 | 19312|PI208 | [13]|M120407 集計|M419507 集計|M1 | 20407|PI209 | [14]|M119902 集計|M418902 集計|M1 | 19902|PI210 | [15]|M119606 集計|M419206 集計|M1 | 19606|PI211 | [16]|M120414 集計|M420314 集計|M1 | 20414|PI212 | 3 [17]|M122002 集計|M420908 集計|M1 | 22002|PI213 | [18]|M119206 集計|M441303 集計|M1 | 19206|PI214 | 2 [19]|M120314 集計|M441511 集計|M1 | 20314|PI215 | 540 [20]|M120908 集計|M421905 集計|M1 | 20908|PI216 | 701 [21]|M141303 集計|M4PI300 集計|M1 | 41303|PI217 | 820 [22]|M141511 集計|M4PI301 集計|M1 | 41511|PI218 | 656 [23]|M121905 集計|M4PI302 集計|M1 | 21905|PI219 | 612 [24]|M1PI300 集計|M4PI303 集計|M1 |PI300 |PI300| 35 [25]|M1PI301 集計|M4PI304 集計|M1 |PI301 |PI301| 191 [26]|M1PI302 集計|M4PI305 集計|M1 |PI302 |PI302| [27]|M1PI303 集計|M4PI306 集計|M1 |PI303 |PI303| 150 [28]|M1PI304 集計|M4PI307 集計|M1 |PI304 |PI304| 299 [29]|M1PI305 集計|M4PI308 集計|M1 |PI305 |PI305| 174 [30]|M1PI306 集計|M4PI309 集計|M1 |PI306 |PI306| 437 [31]|M1PI307 集計|M921705 集計|M1 |PI307 |PI307| [32]|M1PI308 集計|M921706 集計|M1 |PI308 |PI308| 45 [33]|M1PI309 集計|M918801 集計|M1 |PI309 |PI309| [34]| |MGPI302 集計| | | | [35]| |MGPI303 集計| | | | [36]|M1 集計 |MGPI304 集計|部署 |行数 |比率 |比率2 [37]| |MGPI305 集計|1部合計 | |- | [38]| |MGPI306 集計|支援部 | 3331| | [39]| |MGPI307 集計|TC | 1331| | [40]| |MGPI308 集計|パートナー | 365| | [41]| |MGPI309 集計| | | | [42]|M2 集計 |MK19901 集計|部署 |行数 |比率 |比率2 [43]| |MK19312 集計|2部合計 | |- | [44]| |MK19212 集計|支援部 |#REF! | | [45]| |MK18902 集計|TC |#REF! | | [46]| |ZK19606 集計|パートナー |#REF! | | [47]| |ZK20407 集計| | | | [48]| |ZK22002 集計|部署 |行数 |比率 |比率2 [49]| |ZK20414 集計|2部合計 | |- | [50]| | |支援部 |#REF! | | [51]| | |TC |#REF! | | [52]| | |パートナー |#REF! | | [53]| |MK 集計 | | | | [54]| | | | | | [55]| | | | | | [56]|M4 集計 | |部署 |行数 |比率 |比率2 [57]| | |3部合計 | |- | [58]| | |支援部 |#REF! | | [59]| |ZK 集計 |TC |#REF! | | [60]| | |パートナー |#REF! | | [61]| | | | | | [62]|MG 集計 | |部署 |行数 |比率 |比率2 [63]| | |5部合計 | |- | [64]| | |支援部 |#REF! | | [65]| |総計 |TC |#REF! | | [66]| | |パートナー |#REF! | | [67]| | | | | | [68]| | |部署 |行数 |比率 |比率2 [69]| | |5部合計 | |- | [70]| | |支援部 |#REF! | | [71]| | |TC |#REF! | | [72]| | |パートナー |#REF! | | [73]| | | | | | [74]| | | | | | [75]|M9 集計 | |部署 |行数 |比率 |比率2 [76]| | |近畿大阪合計 | |- | [77]| | |支援部 |#REF! | | [78]| | |TC | 0| | [79]| | |パートナー |#REF! | | (イチゴパフェ) 2023/02/02(木) 14:36:20
レイアウトに関しては、管理面からするとAB列は別シートにするとか、
同一シート内にするのであればC列を空けてD列から表を作成してそれぞれテーブルにしたほうが良いと思います。
(フォーキー) 2023/02/02(木) 14:50:04
前にもコメントしましたが、ちゃんと【ステップ実行】するなどして、自己検証してみましたか?
また、どういう条件で処理分岐することになっていて、条件を"満たさなかった場合"どうなるか、理解できてますか?
コメントを拝見すると、単純に実行した結果でしか確認されていないような感じを受けますが…
(もこな2) 2023/02/02(木) 21:05:43
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.