1

空の列がたくさんあるCSVファイルがあります。Ms Excel 2010を持っていますが、マクロの使用方法や関数の並べ替え方法がわかりません。

私はすでにGoogle検索を行い、手順に従いました。彼らは私を助けませんでした。誰かが空の列を削除するためのステップバイステップのプロセスを案内してくれますか?

編集:

申し訳ありませんが、このサイトがどのように機能するのかわかりませんでした。私は一日中検索していたので、適切なリンクを見つけるために私のウェブ検索履歴を調べるのは困難でした。

しかし、私のような似たような人々に役立つ私の歴史からのリンクがいくつかあります(しかし私ではありません:()

http://www.addictivetips.com/windows-tips/how-to-delete-remove-blank-rows-columns-in-excel-2010-spreadsheet/ http://www.mrexcel.com/archive/VBA/ 11225.html

4

2 に答える 2

4

これは、データを含む最後の列から最初の列までのすべての列を調べ、何も含まれていない列を削除するマクロです。

Sub DeleteEmptyColumns()

    Dim lastColumn As Integer
    Dim lastRow As Integer
    Dim i As Integer
    Dim r As Range

    Set r = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious)

    If Not r Is Nothing Then

        lastColumn = r.Column

        For i = lastColumn To 1 Step -1

            Set r = ActiveSheet.Columns(i).Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious)

            If r Is Nothing Then
                ActiveSheet.Columns(i).Delete
            Else
                If r.Row = 1 Then
                    ActiveSheet.Columns(i).Delete
                End If
            End If

        Next i

    End If

End Sub

さらに、シートに何も含まれていなくてもクラッシュすることはなく、特定の列数に制限する必要はなく、すべての列が自動的にチェックされます。

編集:最初の行をスキップし、ヘッダーを無視するように変更されました。

于 2012-12-14T23:25:16.787 に答える
2

あなたが次のようなものを持っていると仮定します:

1,,,,4,55,,92,,,,,,,,,62,
3,,,,7,43,,12,,,,,,,,,74,
7,,,,3,58,,52,,,,,,,,,64,
0,,,,6,10,,22,,,,,,,,,96,
3,,,,8,13,,92,,,,,,,,,22,

CSVファイルの場合、Excel 2010では次のようにします
。1。ファイルのコピーを保存します(ここで問題が発生した場合に備えて)
2。Alt +F11を押し
ます。3。Sheet1(Book1)をダブルクリックします。 )-またはシート名が何であれ。(Microsoft Excelオブジェクトの下にあります
。4。このコードをコピーしてBook1.csvというウィンドウに貼り付けます-Sheet1(コード)

Sub showMessage()
    Dim cChar As String
    Dim Index As Integer
    For Index = 0 To 25
        cChar = Chr(90-Index)
        if Application.WorksheetFunction.CountA(Columns(cChar)) = 0 Then
            Columns(cChar).EntireColumn.Delete
        End If
    Next Index
End Sub

5.上部のツールの緑色の矢印をクリックします。(または、F5キーを押します)注意:変更が必要な値は「25」と「90」です。これらは、ASCIIから文字への変換と関係があります。必要に応じて、それで遊ぶことができます。

これは、列ZからAを調べ(はい、逆に)、データが含まれていないものを削除します。

楽しみ。

于 2012-12-14T23:13:07.363 に答える