Excel VBA質問箱 IV

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

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


8001 / 13645 ツリー ←次へ | 前へ→

【35524】ボタン一つで表のコピー貼付 mayumi 06/3/7(火) 13:19 質問[未読]
【35564】Re:ボタン一つで表のコピー貼付 ponpon 06/3/7(火) 20:34 発言[未読]
【35583】Re:ボタン一つで表のコピー貼付 mayumi 06/3/8(水) 8:01 質問[未読]
【35585】Re:ボタン一つで表のコピー貼付 Blue 06/3/8(水) 8:54 質問[未読]
【35586】Re:ボタン一つで表のコピー貼付 mayumi 06/3/8(水) 9:26 回答[未読]
【35597】Re:ボタン一つで表のコピー貼付 ponpon 06/3/8(水) 13:06 発言[未読]
【35621】Re:ボタン一つで表のコピー貼付 mayumi 06/3/8(水) 16:58 質問[未読]
【35607】Re:ボタン一つで表のコピー貼付 Kein 06/3/8(水) 14:34 回答[未読]
【35622】Re:ボタン一つで表のコピー貼付 mayumi 06/3/8(水) 17:09 お礼[未読]

【35524】ボタン一つで表のコピー貼付
質問  mayumi  - 06/3/7(火) 13:19 -

引用なし
パスワード
   初めて質問させて頂きます。
まだまだマクロを使い始めたばかりで少しアドバイスして
頂ければ幸いです。

今、仕事で使っている書類(表のようなもの)を何度も
コピー貼付けで増やして使っています。
これをマクロを使ってボタン一つで表のコピー貼付けで
ページをどんどん増やすというようなことはできないでしょうか?
どうか宜しくお願いします。

【35564】Re:ボタン一つで表のコピー貼付
発言  ponpon  - 06/3/7(火) 20:34 -

引用なし
パスワード
   ▼mayumi さん:
>初めて質問させて頂きます。
>まだまだマクロを使い始めたばかりで少しアドバイスして
>頂ければ幸いです。
>
>今、仕事で使っている書類(表のようなもの)を何度も
>コピー貼付けで増やして使っています。
>これをマクロを使ってボタン一つで表のコピー貼付けで
>ページをどんどん増やすというようなことはできないでしょうか?
>どうか宜しくお願いします。

具体的に、どのシートのどの範囲をどこにコピペするの書かないと
応えようがないと思います。

【35583】Re:ボタン一つで表のコピー貼付
質問  mayumi  - 06/3/8(水) 8:01 -

引用なし
パスワード
   ▼ponpon さん:
>▼mayumi さん:
>>初めて質問させて頂きます。
>>まだまだマクロを使い始めたばかりで少しアドバイスして
>>頂ければ幸いです。
>>
>>今、仕事で使っている書類(表のようなもの)を何度も
>>コピー貼付けで増やして使っています。
>>これをマクロを使ってボタン一つで表のコピー貼付けで
>>ページをどんどん増やすというようなことはできないでしょうか?
>>どうか宜しくお願いします。
>
>具体的に、どのシートのどの範囲をどこにコピペするの書かないと
>応えようがないと思います。

ponponさん言葉足りずで本当にすみません。
1シートの中で1ページ目にある表を2・3ページへと
コピーしたいのですができるでしょうか?

【35585】Re:ボタン一つで表のコピー貼付
質問  Blue  - 06/3/8(水) 8:54 -

引用なし
パスワード
   で、表はドコからドコまでの範囲にあって、Sheet2,Sheet3のドコからドコまでの範囲にコピーするのでしょうか?
(1ページといっているのは印刷するときのページ数?)
コピーした際に、どの情報を残しておくとかそういうのはないのでしょうか?

んで、ボタンはドコにつくるのでしょうか?
シート上?ユーザフォーム上?それともツールバーとしておいておくの?

【35586】Re:ボタン一つで表のコピー貼付
回答  mayumi  - 06/3/8(水) 9:26 -

引用なし
パスワード
   ▼Blue さん:
>で、表はドコからドコまでの範囲にあって、Sheet2,Sheet3のドコからドコまでの範囲にコピーするのでしょうか?
>(1ページといっているのは印刷するときのページ数?)
>コピーした際に、どの情報を残しておくとかそういうのはないのでしょうか?
>
>んで、ボタンはドコにつくるのでしょうか?
>シート上?ユーザフォーム上?それともツールバーとしておいておくの?

度々言葉足りずですみません。
1.表はA1からG51までの範囲です。
2.シートからシートへのコピーではなく1ページというのは
 印刷する時の範囲でシート1の中だけでの作業です。
3.コピーした再には、表の枠と『Photo』という言葉を残しておきたいです。
 その他の文字はコピーされなくてもいいです。
4.ボタンはできれば同じシート上に作りたいと思います。
箇条書きですみませんが宜しくお願いします。

【35597】Re:ボタン一つで表のコピー貼付
発言  ponpon  - 06/3/8(水) 13:06 -

引用なし
パスワード
   ▼mayumi さん:
>度々言葉足りずですみません。
>1.表はA1からG51までの範囲です。

表の範囲は解りました。

>2.シートからシートへのコピーではなく1ページというのは
> 印刷する時の範囲でシート1の中だけでの作業です。

A52からG102まで貼り付けるのでしょうか。
次々とはどこまで?何ページ分?

>3.コピーした再には、表の枠と『Photo』という言葉を残しておきたいです。

『Photo』は、どこのセル番地にかかれているのでしょうか?

> その他の文字はコピーされなくてもいいです。
>4.ボタンはできれば同じシート上に作りたいと思います。

マクロができたら、フォームのボタンを使えばよいと思います。

>箇条書きですみませんが宜しくお願いします。

こちらには、そちらのシートは見えませんので、
サンプルシートを作成し、マクロを組んでいます。
詳しいシートレイアウトとできあがりのサンプルなんかを
書いていただけると、いちいちこちらでサンプルを考えなくて
よいのですが・・・・

【35607】Re:ボタン一つで表のコピー貼付
回答  Kein  - 06/3/8(水) 14:34 -

引用なし
パスワード
   仮に Photo という値が A1 に入力されているとして、その位置(表の左上端)を
そのままにしてコピーしていく。表は一行の空白をあけて下へコピーしていく。
という条件で。

Sub Copy_Table()
  Dim RCnt As Long

  With ThisWorkbook
   If .Comments = "" Then
     RCnt = 53
   Else
     RCnt = Val(.Comments) + 52
   End If
   .Comments = RCnt
  End With
  Range("A1:G51").Copy Range("A" & RCnt)
  Range("A" & RCnt).Resize(51, 7).ClearContents
  Range("A" & RCnt).Value = "Photo"
End Sub

で、出来ると思います。
ちなみにWithステートメントで括ったコードは、次回に実行した際の貼り付け先
行番号を保存しておく、というものです。常識的に65536行を超える範囲までコピぺ
することは無い、という前提でエラー処理はしていませんが、値の保存先は
ワークシートメニューの「ファイル」「プロパティ」「ファイルの概要」タブにある
"コメント"欄ですから、適当なタイミングでよく考えて消去して下さい。  

【35621】Re:ボタン一つで表のコピー貼付
質問  mayumi  - 06/3/8(水) 16:58 -

引用なし
パスワード
   ▼ponpon さん:
>▼mayumi さん:
>>度々言葉足りずですみません。
>>1.表はA1からG51までの範囲です。
>
>表の範囲は解りました。
>
>>2.シートからシートへのコピーではなく1ページというのは
>> 印刷する時の範囲でシート1の中だけでの作業です。
>
>A52からG102まで貼り付けるのでしょうか。
>次々とはどこまで?何ページ分?
>
>>3.コピーした再には、表の枠と『Photo』という言葉を残しておきたいです。
>
>『Photo』は、どこのセル番地にかかれているのでしょうか?
>
>> その他の文字はコピーされなくてもいいです。
>>4.ボタンはできれば同じシート上に作りたいと思います。
>
>マクロができたら、フォームのボタンを使えばよいと思います。
>
>>箇条書きですみませんが宜しくお願いします。
>
>こちらには、そちらのシートは見えませんので、
>サンプルシートを作成し、マクロを組んでいます。
>詳しいシートレイアウトとできあがりのサンプルなんかを
>書いていただけると、いちいちこちらでサンプルを考えなくて
>よいのですが・・・・

以下のようなもので分りますでしょうか?
使用している表は写真整理の為の表です。
自分でマクロをした場合今あるものの下つまりA52から下へコピーはできるのですが、またその下へコピーするというのはやはりループとかを使ったりするんでしょうか。

A1〜A17 結合  B2〜C3  結合  E1〜E17  結合   F2〜G3 結合
A18〜A34 結合  B18〜C19 結合  E18〜E34  結合   F18〜G19 結合
A35〜A51 結合  B35〜C36 結合  E35〜E51  結合   F35〜G36 結合
    A    B    C    D    E    F    G
1       Photo. 番号  空白       Photo.  番号

18       Photo. 番号  空白       Photo.  番号

35       Photo. 番号  空白       Photo.  番号

51

【35622】Re:ボタン一つで表のコピー貼付
お礼  mayumi  - 06/3/8(水) 17:09 -

引用なし
パスワード
   ▼Kein さん:
>仮に Photo という値が A1 に入力されているとして、その位置(表の左上端)を
>そのままにしてコピーしていく。表は一行の空白をあけて下へコピーしていく。
>という条件で。
>
>Sub Copy_Table()
>  Dim RCnt As Long
>
>  With ThisWorkbook
>   If .Comments = "" Then
>     RCnt = 53
>   Else
>     RCnt = Val(.Comments) + 52
>   End If
>   .Comments = RCnt
>  End With
>  Range("A1:G51").Copy Range("A" & RCnt)
>  Range("A" & RCnt).Resize(51, 7).ClearContents
>  Range("A" & RCnt).Value = "Photo"
>End Sub
>
>で、出来ると思います。
>ちなみにWithステートメントで括ったコードは、次回に実行した際の貼り付け先
>行番号を保存しておく、というものです。常識的に65536行を超える範囲までコピぺ
>することは無い、という前提でエラー処理はしていませんが、値の保存先は
>ワークシートメニューの「ファイル」「プロパティ」「ファイルの概要」タブにある
>"コメント"欄ですから、適当なタイミングでよく考えて消去して下さい。 

Keinさんありがとうございました。
参考に今あるものをもう少し考えて見ます。
これからもアドバイスの程宜しくお願いします。

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