Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12119 / 76734 ←次へ | 前へ→

【70141】Re:列が空白ならば削除したい
回答  UO3  - 11/10/17(月) 11:06 -

引用なし
パスワード
   ▼ごん さん:

とりあえず「次善の策」としての「配列方式」です。
列は連続でも飛び飛びでもOKです。
また、2行目は見ていませんので仮にタイトル行でなくてもOKです。

Sub SampleV()
'配列方式
  Dim myA As Range
  Dim lCell As Range
  Dim z As Long
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Dim v As Variant
  Dim w() As Variant
  Dim vCols As Variant
  Dim allB As Boolean
  
  With ActiveSheet.UsedRange
    Set lCell = .Cells(.Cells.Count)
  End With
  vCols = getCols(lCell.Column)
  v = Range("A3", lCell).Value
  ReDim w(1 To UBound(v, 1), 1 To UBound(v, 2))
  For i = 1 To UBound(v, 1)
    allB = True
    For j = 1 To UBound(vCols)
      If (Len(v(i, vCols(j)))) > 0 Then
        allB = False
        Exit For
      End If
    Next
    If Not allB Then
      k = k + 1
      For j = 1 To UBound(w, 2)
        w(k, j) = v(i, j)
      Next
    End If
  Next
  Range("A3").Resize(UBound(w, 1), UBound(w, 2)).Value = w
  MsgBox "処理が完了しました"
End Sub

Private Function getCols(mCols As Long) As Variant
  Dim a As Range, b As Range
  Dim k As Long
  Dim v() As Variant
  ReDim v(1 To mCols)
  For Each a In Selection.Areas
    For Each b In a.Rows(1).Cells
      k = k + 1
      v(k) = b.Column
    Next
  Next
  ReDim Preserve v(1 To k)
  getCols = v
End Function

2 hits

【70129】列が空白ならば削除したい ごん 11/10/17(月) 7:47 質問
【70132】Re:列が空白ならば削除したい UO3 11/10/17(月) 9:40 発言
【70136】Re:列が空白ならば削除したい UO3 11/10/17(月) 10:11 発言
【70141】Re:列が空白ならば削除したい UO3 11/10/17(月) 11:06 回答
【70145】Re:列が空白ならば削除したい ごん 11/10/17(月) 11:42 質問
【70144】Re:列が空白ならば削除したい UO3 11/10/17(月) 11:38 回答
【70146】Re:列が空白ならば削除したい ごん 11/10/17(月) 11:48 質問
【70148】Re:列が空白ならば削除したい UO3 11/10/17(月) 11:57 発言
【70149】Re:列が空白ならば削除したい UO3 11/10/17(月) 12:48 回答
【70151】Re:列が空白ならば削除したい ごん 11/10/17(月) 13:57 発言
【70156】Re:列が空白ならば削除したい UO3 11/10/17(月) 17:40 回答
【70159】Re:列が空白ならば削除したい ごん 11/10/18(火) 9:06 お礼
【70166】Re:列が空白ならば削除したい UO3 11/10/18(火) 10:27 回答
【70150】Re:列が空白ならば削除したい kanabun 11/10/17(月) 12:53 発言
【70152】Re:列が空白ならば削除したい ごん 11/10/17(月) 15:59 お礼

12119 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free