2017-11-20 5 views
1

を見つける:エクセルVBA - 私はデータを持つ最後の列を見つける方法を知っている最初の空の列

finalcolumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

しかし、私はデータをどこかで最後の列の前に、私の場合、つまり、最初の空の列を見つけたいです。

firstemptycolumn = ? 
+0

一つの方法 'firstemptycolumn =行(1).SpecialCells(xlCellTypeBlanks)(1).Column'を。 – SJR

答えて

2

行1の最初の空の列のために、このようにしてみてください。

finalcolumn = 1 + .Cells(1, 1).End(xlToRight).Column 

それはあなたのコードと全く同じロジックですが、左から開始し、あなたが右に移動します。

+1

はい、うまくいきました。ありがとう。 –

+0

@CreakushColiko - あなたは歓迎です:) – Vityata

0

最初の空の列を見つけるには、データで見つかった最後の列に1を追加するだけです。

finalcolumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 
firstemptycolumn = finalcolumn + 1 
+0

"最初に空の列を見つけてください...どこかの先の最後の列にデータがあります。" – SJR

+0

もう一度質問を読む必要があります*「最後の列の前のどこか」*。これは、OPが探しているものではありません:) – CallumDA

+0

いいえ、私は5つの列、次に5つの空の列、次にデータのある1つの列を持っています。そのコードは私を列(12)にしますが、私は列(6)に移動する必要があります。 –

0

これは、他のデータに埋め込まれた場合でも、最初の空の列見つける:

Sub FirstEmptyColumn() 
    Dim i As Long 

    With Application.WorksheetFunction 
      For i = 1 To Columns.Count 
       If .CountA(Cells(1, i).EntireColumn) = 0 Then 
        MsgBox i 
        Exit Sub 
       End If 
      Next i 
     End With 
End Sub 
関連する問題