|
▼VBA初心者 さん:
こんにちわ。
コードは読んでいないけど、全体的に、元ブックのSheet1以外のシートがどれなのかが
ちょっとあいまいなコード記述になっていますね。全て、ちゃんと指定したほうがいいです。
少なくとも、【元ブックのSheet2】は、ちゃんと(WS1のように)設定しておくべき。
で、本題。
質問文の中では「B6〜I33」、一方、アップされたコードの中では「B23:E23」。
ここはどうなのでしょう?
いずれにしても
1.Range("B23:E23").Select '◆テスト
2.Selection.Copy '◆テスト
3.Sheets("Sheet1").Select '◆テスト
4.ActiveSheet.Paste '◆テスト
この1.は、今アクティブなブックのアクティブなシートをさしています。
で、今、アクティブなブックは、新規に作成するために追加されたブックですよね。
それと気になるのは、4. これは新規に作成するブックのSHeet1にペーストするんだけど
そのペーストする場所は?たまたまブックを追加してから、セルを動かしてはいないので
A1を想定しているのでしょうか?
たとえば元ブックのSheet2が WS2 なら
WS2.Range("B23:E23").Copy Sheets("SHeet1").range("A1") といったように記述しましょう。
値コピーでいいならコピペじゃなく
Sheets("Sheet1").range("A1:D23").value = WS2.Range("B23:E23").Value
といった書き方のほうが素直かな?
(コピー先のセルは想像でA1にしているけど、ここは実際のものに)
★何をどうしたいのかがわからないので、コードをざっと眺めた上での感想。
勘違いしていたらスルー願います。
|
|