需要洗掉作業表中的空白列。我需要洗掉整個列,它將帶有文本的匯入列移動到作業表的開頭。帶有文本的列的位置每周都會改變,所以我需要一些可以洗掉完整列直到最后一個文本列的東西。下面列出了我正在嘗試的代碼。

Sub Delete_Columns
C = ActiveSheet.Cells.SpecialCells(xlLastCell).Column
Do Until C = 0
If WorksheetFunction.CountA(Columns(C)) = 0 Then
Columns(C).Delete
End If
C = C - 1
Loop
End Sub
uj5u.com熱心網友回復:
洗掉空白列
Option Explicit
Sub DeleteBlankColumns()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim rg As Range: Set rg = ws.UsedRange
Dim rCount As Long: rCount = rg.Rows.Count
Dim dcrg As Range
Dim crg As Range
For Each crg In rg.Columns
If Application.CountBlank(crg) = rCount Then
If dcrg Is Nothing Then
Set dcrg = crg
Else
Set dcrg = Union(dcrg, crg)
End If
End If
Next crg
If dcrg Is Nothing Then Exit Sub
dcrg.EntireColumn.Delete
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/396376.html
上一篇:VBA將數字之間的值分配給陣列
下一篇:包括帶有名稱的表列但出現錯誤
