2016-12-06 13 views
0

プロセスの開始の行番号を含むprocessRowBeginというグローバル変数があります。プロセスの終わりの行番号を含むprocessRowEndというグローバル変数もあります。VBAの範囲の行(行、列)に変数を使用する

私がしようとしているのは、アクティブなワークシート上の2つの列、列CとEのグラフを作成することです。ここで、選択された行の行数はprocessRowBeginからprocessRowEndになります。私が遭遇する問題は、行(行、列)構文の変数に範囲を使用する方法がわからないことです。私はこの質問を研究し、これまでの解決策を見いだせませんでした。私は(行、列)の行の変数名を最初に(行、列)構文を使用してみました。これはうまくいかず、[範囲エラーの行に変数を使用する] [1]というエラーが発生しました。

私は別のユーザーの質問で見つけた解決策(以下のコード)を実装しようとしましたが、同じエラーが表示されました。 VBAでこれを行うにはどうしたらいいですか?

Range(("C" & processRowBegin):("C" & processRowEnd)).Select 
Range(("E" & processRowBegin):("E" & processRowEnd)).Select 

私はExcel VBAのプログラミングの初心者であり、助けに感謝します。これは重要な作業プロジェクトを完了するための最後のステップです。誰かが私のコード全体を見たいと思ったら、教えてください。

+0

を修飾する必要はありますが、一般的に文字列としてセルアドレスを連結しないようにしたいです。 @ ScottCranerの答えの2番目の方法(ワークシートで修飾されていると仮定します)ははるかに優れています。 – Comintern

+0

大丈夫です。この質問にお答えしてくださった皆様、ありがとうございました。私は今それが動作することを確認するためにそれをテストするつもりです。 – aquarules

答えて

5

あなたは、このようにそれを行うだろう:

Range("C" & processRowBegin & ":C" & processRowEnd).Select 

範囲は、二つのセルや範囲を示すために、文字列のいずれかを取ります。一つは、selectを使用して回避し、単に細胞を希望されて何をすべき

  1. Range(Cells(processRowBegin,3),Cells(processRowEnd,3)).Select 
    

    カップルノート:2個の細胞によってそれを行うには

    。これを避ける方法の詳細については、POST

  2. すべての範囲オブジェクトを常に親シートに修飾する必要があります。細胞を使用した場合は()、彼らはあまりにも

With WorkSheets("Sheet1") 
    .Range(.Cells(processRowBegin,3),.Cells(processRowEnd,3)).Value = .Range(.Cells(processRowBegin,5),.Cells(processRowEnd,5)).Value 
End With 
関連する問題