2016-07-08 6 views
0

AccessデータベースのデータからExcelファイルを作成しています。AccessからExcelでオフセットを選択

私が現在しようとしているのは、AccessからExcelで選択したものを相殺することです。エラーを受け取り続けます。

ExcelWS.Range(Range("H6"), Range("H6").End(xlDown)).Offset(0, -1).Select

ExcelWSエクセルです。ワークシートオブジェクト。

私の目標は、G6からブックの最後までを選択することです。しかし、列Gのすべてのセルにデータが設定されているわけではないので、セルG6の単純なEnd(xlDown)だけがファイルの途中まで移動します。つまり、H列のすべてのセルにデータが格納されるため、H6セルからEnd(xlDown)を実行できます。そこから、選択したものを左に移動して、選択したG列の希望の範囲を与えたいと思います。

上記のコードは、グーグルの約2時間の製品であり、同様のコードのさまざまな組み合わせを試しています。しかし、私はまだエラーが発生しています。

実行時エラー「1004」:オブジェクトの

メソッド「範囲」「_Globalは」奇妙なことは、1月10日回、私は欲求を受けるだろうということである

失敗しました結果。残りの時間私は上記のエラーが表示されます。

私の問題はAccessからコードの行を実行することと関係がありますが、現在のところ、このタスクを完了するための私の唯一の方法はAccessから行うことができます。

何か助けていただければ幸いです。それ以上の情報があれば、私は最善を尽くします。

ありがとうございました。

答えて

1

Selectを実行するには、シートをアクティブ/インフォーカスにします。

フーコーをシートに設定することにしました。

ExcelWS.Activate 
ExcelWS.Range(Range("H6"), Range("H6").End(xlDown)).Offset(0, -1).Select 

また、焦点を合わせるために、ワークブックをアクティブ/フォーカスする必要があります。

可能な限りSelectを避けてください。また、名前を完全修飾する。

Dim rngTest as Range 
Set rngTest= ExcelWS.Range(ExcelWS.Range("H6"), ExcelWS.Range("H6").End(xlDown)).Offset(0, -1) 
+0

素晴らしいです。情報をありがとう。私はあなたが私に少しだけ与えてくれたコードを "虐待"してしまいました。どちらの解決方法も私が必要とするものではなかったからです。 – jtchase08

0

@cyboashuのおかげで、私はそれを働かせることができました。

私は彼が私に与えた例をとり、私が望むことをするためにそれらを一緒にしました。

私はそれが一貫して毎回働いていたという質問を投稿した後で気づきました。

とにかく、私が使用したコードは

Dim ExcelR1 As Range 
Set ExcelR1 = ExcelWS.Range(ExcelWS.Range("H6"), ExcelWS.Range("H6").End(xlDown)).Offset(0, -1) 
ExcelR1.Activate 
関連する問題