2017-06-08 11 views
4

if条件を使用してClearContentsタスクを実行します。同じ私の下のコードを見つけてください。私は2つのコードの下に書かれていますが、両方とも失敗です。条件式を使用してExcel VBAで式セルを無視する方法

  1. まず基本的に、私は式が用意されていますが、私は、削除したい場所細胞が含まれて削除したくない

    t = 1 
    Do While Cells(t, 1) <> "" 
        If Cells(t, 1) <> Formula Then 
         Cells(t, 1).ClearContents 
        End If 
        t = t + 1 
    Loop 
    

を試してみてください

t = 1 
Do While Cells(t, 1) <> "" 
    If Cells(t, 1) <> "=" Then 
     Cells(t, 1).ClearContents 
    End If 
    t = t + 1 
Loop 
  • セカンドをお試しください他のデータ。このような

  • +0

    すべての非数式セルを選択できます。ちょっと待って。 – vacip

    +0

    列Aのみを空にしようとしていますか、定数値をクリアするためにワークシート全体を必要としていますか? –

    答えて

    0

    書き込み何か:

    If Not Cells(t,1).HasFormula Then 
    
    End if 
    

    それは働くだろう。

    編集:

    このようにしてみてください。ここでは

    Sub TestMe() 
    
        If Not Cells(1, 1).HasFormula Then 
         Debug.Print "No Formula" 
        Else 
         Debug.Print "Has Formula" 
        End If 
    
    End Sub 
    

    がHasFormulaプロパティに関する詳細は次のとおりです。別の方法として

    https://msdn.microsoft.com/en-us/library/office/ff837123.aspx

    +0

    このエラーが発生しています** **無効なまたは未修飾の参照** ** HasFormula ** – sagar

    +0

    @sagar - あなたはおそらく 't'に値を割り当てません。 'TestMe'でもう一度チェックしてください:) – Vityata

    4

    、すべてを選択する方法がありますセルは定数(非数式)値を含みます。

    Cells.SpecialCells(xlCellTypeConstants, 23).ClearContents 
    

    すべてのセルを反復するよりも速くなります。

    特定の範囲または現在の選択に対してのみこれを行うには、CellsRange("A1:A100")またはSelectionに置き換えます。

    (Excelでは、あなたはホームの下にこれを見つけることができます - >編集 - > &を選択して下さい - 。。特別に行く>ここでは、Excelが自動的に既存の選択範囲内の定数または式のみを選択することができます)

    関連する問題