2017-01-23 7 views
1

コードセクションは次のとおりです。Excel VBA - 関数の検索 - 変数の検索

Dim Column1 As String 
Worksheets("Graph").Activate 
Column1 = Cells(1, "P").Value 

Dim Column2 As String 
Worksheets("Graph").Activate 
Column2 = Cells(2, "P").Value 

Cells.Find(What:=Column1).Activate 
StartP3Column = ActiveCell.Column 

Cells.Find(What:=Column2).Activate 
StartP4Column = ActiveCell.Column 
EndP3Column = StartP4Column - 1 

Cells.Find(What:="End Column").Activate 
StartEndColumn = ActiveCell.Column 
EndP4Column = StartEndColumn - 1 

マクロを実行するときにP1とP2の値によって選択される列が決まるようにしようとしています。だから最初の2 Cell.Find(What:=)関数では、私は "Column1"は、Column1変数(P1の値)をピックアップしたい。 「:ブロック変数が設定されていないとの91オブジェクト変数を実行時エラー」と私はデバッグするとき、問題はラインCells.Find(What:=Column1).Activate

任意のアイデアがである

私はマクロを実行すると、私はエラーを取得しますか?あなたはシートSheet1上で、それらのデータを検索する場合

+0

を見つけることができますか?あなたは範囲をdim rにする必要がありますので、r = find()を設定して、それが何も見つからなければ、戻り値rをチェックしてください。そうでなければ何もr.activateはしませんが、このマクロではP2の検索だけが有効になります。また、グラフを2回アクティブにする必要はありません。 –

答えて

0

、これが実行されます:値が

Dim wsG As Worksheet 
Dim wsS As Worksheet 
Dim Rg As Range 
Dim Column1 As String 
Dim Column2 As String 
Set wsG = ThisWorkbook.Sheets("Graph") 
Set wsS = ThisWorkbook.Sheets("Sheet1") 

wsG.Activate 
Column1 = wsG.Cells(1, "P").Value 
Column2 = wsG.Cells(2, "P").Value 

Set Rg = wsS.Cells.Find(What:=Column1) 
If Not Rg Is Nothing Then 
    StartP3Column = Rg.Column 
Else 
    MsgBox Column1 & " not found in " & wsS.Name 
End If 

Set Rg = wsS.Cells.Find(What:=Column2) 
If Not Rg Is Nothing Then 
    StartP4Column = Rg.Column 
    EndP3Column = Rg.Column - 1 
Else 
    MsgBox Column2 & " not found in " & wsS.Name 
End If 

Set Rg = wsS.Cells.Find(What:="End Column") 
If Not Rg Is Nothing Then 
    StartEndColumn = Rg.Column 
    EndP4Column = Rg.Column - 1 
Else 
    MsgBox "End Column" & " not found in " & wsS.Name 
End If 
+0

こんにちは、私が探しているデータは別のワークシートにあります。私はあなたのスクリプトを編集して、他のブックの値を検索しようとしましたが、StartP3Column、StartP4Columnなどの値はEndP4Columnから30だけ離れて "Empty"です。 – Dullspark

+0

@Dullspark:編集を参照してください! ;)あなたは 'Sheet1'を検索しているシートの名前に変更するだけです! ;) – R3uK

+0

私はこれを行いましたが、値はまだ空になっています:( – Dullspark