Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8511 / 13644 ツリー ←次へ | 前へ→

【32705】コピペについて BBC 05/12/21(水) 7:02 質問[未読]
【32706】Re:コピー、貼り付けについて かみちゃん 05/12/21(水) 7:16 回答[未読]
【32767】Re:コピー、貼り付けについて BBC 05/12/21(水) 21:22 発言[未読]
【32784】Re:コピー、貼り付けについて Jaka 05/12/22(木) 9:33 回答[未読]
【32841】Re:コピペについて BBC 05/12/24(土) 0:17 お礼[未読]

【32705】コピペについて
質問  BBC  - 05/12/21(水) 7:02 -

引用なし
パスワード
   どうぞよろしくお願いします。似たような質問が以前にもありましたが、もう少し基本的なレベルで添削を頂ければと、ここに投稿した次第です。

sheet 1のCX2からEU2まではコピーして、sheet2のB2からAY2にペーストするマクロを作ろうとしています。ペーストするときの注意は「値」のみの貼り付けです。

以下、初心者ながら作成してみました。しかしまったく思ったように機能してくれません。

高度な用語は理解していません。このレベルで添削が可能でしたら、どこがまちがっているのかご指摘頂ければ幸いです。

ちなみにsheet2は下記のような名前になっています。

Sub Macro6()
'
' Macro6 Macro
' マクロ記録日 : 2005/12/20 ユーザー名 :
'
For k = 1 To 5
  ActiveWindow.SmallScroll ToRight:=99
  Range(Cells(k + 1, 102), Cells(k + 1, 151)).Select
  Selection.Copy
  Sheets("変換後のデータ入力画面").Select
  Range(Cells(k + 1, 2), Cells(k + 1, 51)).Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Next k
  Range("A1").Select
End Sub


よろしくお願いします。

【32706】Re:コピー、貼り付けについて
回答  かみちゃん  - 05/12/21(水) 7:16 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>sheet 1のCX2からEU2まではコピーして、sheet2のB2からAY2にペーストするマクロを作ろうとしています。ペーストするときの注意は「値」のみの貼り付けです。

書いておられる仕様とコードが合っていないように思いますが、
Copy元のアクティブシートが不安定なのだと思います。
具体的には、以下の★の行は、少なくとも必要かと思います。

 For k = 1 To 5
  Sheets("Sheet1").Select '★
  Range(Cells(k + 1, 102), Cells(k + 1, 151)).Copy
  Sheets("変換後のデータ入力画面").Select
  Range(Cells(k + 1, 2), Cells(k + 1, 51)). _
   .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
     :=False, Transpose:=False
 Next k
 Range("A1").Select
End Sub

【32767】Re:コピー、貼り付けについて
発言  BBC  - 05/12/21(水) 21:22 -

引用なし
パスワード
   かみちゃん さん

連絡が遅くなりまして、申し訳ありません。実は海外からアクセスをしておりまして、サーバーの調子がよくなく、現在遠出をしてインターネットカフェからアクセスしています。

>書いておられる仕様とコードが合っていないように思いますが、
>Copy元のアクティブシートが不安定なのだと思います。
>具体的には、以下の★の行は、少なくとも必要かと思います。

早速下記の行を追加して試してみたいと思います。

今後、お返事、お礼が遅れることが大です。あらかじめお詫びしておきたいと思います。回答ありがとうございます。

>
> For k = 1 To 5
>  Sheets("Sheet1").Select '★
>  Range(Cells(k + 1, 102), Cells(k + 1, 151)).Copy
>  Sheets("変換後のデータ入力画面").Select
>  Range(Cells(k + 1, 2), Cells(k + 1, 51)). _
>   .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>     :=False, Transpose:=False
> Next k
> Range("A1").Select
>End Sub

【32784】Re:コピー、貼り付けについて
回答  Jaka  - 05/12/22(木) 9:33 -

引用なし
パスワード
    For k = 1 To 5
  With Sheets("Sheet1")
    .Range(.Cells(k + 1, 102), .Cells(k + 1, 151)).Copy
  End With
  With Sheets("変換後のデータ入力画面")
    .Range(.Cells(k + 1, 2), .Cells(k + 1, 51)).PasteSpecial Paste:=xlPasteValues
  End With
 Next k

【32841】Re:コピペについて
お礼  BBC  - 05/12/24(土) 0:17 -

引用なし
パスワード
   かみちゃんさん、Jakaさん

お返事がおそくなりました。問題が解決しましたので、改めてお礼を申し上げます。

簡単ですが、失礼します。

8511 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free