[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『1行目(フィールド名)以外が空白の列を自動削除』(DAR)
お世話になります。
価のない列を削除するマクロは過去ログより見つけたのですが、
下記↓
Sub test1() Dim UsedCell As Range Dim Max_column, columnCount As Integer '使用しているセルの範囲を取得します Set UsedCell = ActiveSheet.UsedRange '最大の行番号を取得します Max_column = UsedCell.Cells(UsedCell.Count).Column For columnCount = Max_column To 1 Step -1 'Worksheet関数のCountAを使ってデータの個数をカウント If Application.WorksheetFunction.CountA(Columns(columnCount)) = 0 Then '行の削除 Columns(columnCount).Delete End If Next End Sub
1行目(フィールド名)を残したいので、
2行目以降に価がない列をすべて削除するマクロは
ございませんでしょうか?よろしくお願いします。
これを実際に動かしてみると、1行目も削除してしまうということですよね? 自分には提示されているコードは「行」ではなく「列」を削除しているように見えるのですが・・・? Columns(columnCount).Delete←コレ
(毛虫通過中)
最早ColumnをRowに変えただけですが・・・
Sub test2() Dim UsedCell As Range Dim Max_row, rowCount As Integer '使用しているセルの範囲を取得します Set UsedCell = ActiveSheet.UsedRange '最大の行番号を取得します Max_row = UsedCell.Cells(UsedCell.Count).Row For rowCount = Max_row To 2 Step -1 '~~これで2行目から最終行までが範囲になるかと。 'Worksheet関数のCountAを使ってデータの個数をカウント If Application.WorksheetFunction.CountA(Rows(rowCount)) = 0 Then '行の削除 Rows(rowCount).Delete End If Next
'追加:もし、見出ししかなかったら見出しの行を削除 If Max_row = 1 Then Rows(1).Delete End Sub
(毛虫通過中)
必ず見出しがあるのなら
Application.WorksheetFunction.CountA(Columns(columnCount)) = 1
で判定すれば良いのでは?
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.