2017-08-18 17 views
1

シートに空でないセルが1つしかなく、マクロで見つけたいとします。これまでのところ、私は次のコードを持っていますが、それはすべての列を検索して、1だけでなく、それを調整するのに苦労しています:マクロがシート全体で最初の空でないセルを選択する

Sub FirstNonEmpty() 

Dim ws As Worksheet 

Set ws = ActiveSheet 

    For Each cell In ws.Columns(1).Cells 
     If Not IsEmpty(cell) = True Then cell.Select: Exit For 
    Next cell 
End Sub 

おそらく、代わりに「1」 "内のすべての列に等しい変数を使用する方法がありますws.Columns(1).Cells "?

答えて

0

あなたはForステートメントに変更することができます。あなたはこれを試してみること

+0

ありがとう、それはまさに私が望んでいたものです。 – barciewicz

1

空白以外のセルに式が含まれていない場合は、トップ式を使用できます。式の場合は、xlcelltypeformulasを使用します。非空白があることがわかっている場合は、On Errorは必要ありません。実際には1つしかない場合は、(1)も必要ありません。同様に、ワークシートの末尾に行/列をスキャンしないという利点があり

For Each cell In ws.UsedRange.Cells 

On Error Resume Next 
ActiveSheet.Cells.SpecialCells(xlCellTypeconstants)(1).Select 
'or 
'ActiveSheet.Cells.SpecialCells(xlCellTypeformulas)(1).Select 
+1

あなたは 'xlCellTypeBlanks'を意味しましたか? OPは空でないセルについて尋ねましたか?たぶん 'xlCellTypeConstants'? –

+0

おっと、ありがとう@RobinMackenzie。私には理解困難があります。 – SJR

+1

よろしくお願いします。@RobinMackenzie、私は最初の空のセルを探していたと思って、この質問を誤解しました。 DUH。あなたは唯一の人じゃないSJR – Mitch

1

それとも...

Dim Rng As Range 
Set Rng = Cells.Find(what:="*", LookIn:=xlValues) 
If Not Rng Is Nothing Then 
    Rng.Select 
End If 
関連する問題