2016-08-19 14 views
0

Excelワークブックに2枚のシートがあります。私はSheet2のセルJ19の内容を検索し、シート1の一致するセルで列を削除するVBAコードが欲しいです。私はいくつかのVBAコードを探すためにGoogleの周りを検索してきましたが、まだ動作するものは見つかりませんでした。セルの値に基づいて列を検索して削除するマクロ

ここで誰もこれを行う方法を知っていますか?私はVBAでの経験はゼロです。

+2

S.O!へようこそ!何か試しましたか?もしそうなら、コードを提供して、[ツアー](http://stackoverflow.com/tour)と[質問する](http://stackoverflow.com/help/how-to-ask)を見てください。 )。フレンドリーリマインダー:StackOverflowは "あなたのためのコード"サービスプロバイダーではありません。 [VBAの紹介](https://blog.udemy.com/excel-macros-tutorial/)ヒント:特定の問題の解決策を決して見つけようとすることはまずありません。 excel vba "](http://www.ozgrid.com/VBA/find-method.htm)を入力し、必要に応じて調整します。 – Sgdva

答えて

1

このようなタスクを実行するためにこのコードを試すことができます。

Sub FindMatchAndThenDeleteColumn() 

    FindContent = Worksheets("Sheet2").Range("J19") 

    For Each Cell In Worksheets("Sheet1").UsedRange.Cells 
     If Cell.Value = FindContent Then Columns(Cell.Column).Delete 
    Next 

End Sub 

上記のコードをworkbook's moduleに入れてください。ここではFindContentCellをランダムに選択していますが、任意の名前を使用できます。私はSheet1ので使用されているすべてのセルをループし

For Each Cell In Worksheets("Sheet1").UsedRange.Cells 

を使用しています。セルA1からデータの最後のセル(最も右下のセル)の範囲内のすべてをチェックします。セルJ19の内容がテキストの場合は、変数FindContentStringタイプ(Dim FindContent As String)と宣言できます。数字の場合は、LongタイプまたはSingleタイプ、またはコンテンツに適合する任意の数字タイプとして宣言することができます。ここでは宣言していません。つまり、既定値はVariantです。 VBAの初心者なので、Excel Easyから学ぶことができます。お役に立てれば。

関連する問題