|    | 
     ▼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にしているけど、ここは実際のものに) 
 
 ★何をどうしたいのかがわからないので、コードをざっと眺めた上での感想。 
 勘違いしていたらスルー願います。 
 | 
     
    
   |