Excel VBA質問箱 IV

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

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


2241 / 13646 ツリー ←次へ | 前へ→

【69195】新規ブックにシートコピー ゆぅ 11/5/28(土) 21:11 質問[未読]
【69196】Re:新規ブックにシートコピー UO3 11/5/28(土) 21:37 発言[未読]
【69197】Re:新規ブックにシートコピー ma 11/5/29(日) 7:58 発言[未読]
【69199】Re:新規ブックにシートコピー ゆぅ 11/5/29(日) 9:37 発言[未読]
【69198】Re:新規ブックにシートコピー ゆぅ 11/5/29(日) 9:30 質問[未読]
【69200】Re:新規ブックにシートコピー UO3 11/5/29(日) 13:26 回答[未読]
【69201】Re:新規ブックにシートコピー ゆぅ 11/5/29(日) 20:12 お礼[未読]

【69195】新規ブックにシートコピー
質問  ゆぅ  - 11/5/28(土) 21:11 -

引用なし
パスワード
   こんにちわ。

全くの初心者で、このような質問失礼いたします。


評価シートのエクセルファイルがあります。

そのファイルには、評価sheet.と計算sheet.が
あります。

そこで、評価sheet.は、個人の評価表になっているため
個人ごとの新規ブックファイルを作成しようと考えています。

しかし、評価sheet.にあるA、B、Cといった評価は
計算sheet.にある点数に関数で変換されるため
新規ブックに単純にシートコピーをすると、評価シートの
計算sheet.にリンクが貼られてしまいます。
(すいません。当たり前ですよね)

新規ブックを立ち上げた際に、評価シートの計算sheet.にリンクされ
見にいかないように、各評価項目(セル)を、値貼り付けしたうえで
新規ブックに保存したいのです。


1.新規ブック作成
2.評価シートを新規ブックにシートコピー
3.評価シートの値(セル)を、新規ブックのセルに値貼り付け
 (複数項目あります)
4.新規ブックの保存

上記、1.〜4.の流れを考えており、単純に新規ブック作成をして
シートコピーをして保存をすることはできるのですが
3.の作業のマクロを、どう作成してよいかわかりません。

ながなが申し訳ございません。

どなたか、ご教示いただけないでしょうか。
よろしくお願いいたします。

【69196】Re:新規ブックにシートコピー
発言  UO3  - 11/5/28(土) 21:37 -

引用なし
パスワード
   ▼ゆぅ さん:

こんばんは

マクロ記録はご存知ですよね。
1〜4すべて、手作業による操作はできますよね。
であれば、1〜4の操作をマクロ記録してみましょう。
基本のコードが入手できます。

ところで、ブックの構成ですが、評価Sheetは、複数の人の評価が記載されていて、
そのなかの特定個人の評価が記載されている部分だけを新規ブックにするのでしょうか。
それとも、個人別の評価シートで、シートそのまま、個人別ブックとするのでしょうか。
もし、後者であれば、1〜4の作業をすこし変更したほうがいいかもしれません。
(もちろん、これも手作業でできますし、これをマクロ記録すればコードが生成されます)

【69197】Re:新規ブックにシートコピー
発言  ma  - 11/5/29(日) 7:58 -

引用なし
パスワード
   ▼UO3 さん:横から失礼いたします。

▼ゆぅ さんへ

ここに回答するほどのレベルの者ではありませんが、以前同じようなことをしたことお思い出しまして参考になればと想って書かせていただきました。

コピーしたいシートなのですが、セルの結合などがあると、うまくコピー貼り付けができないときがありました。

私は、「形式を選択して貼り付ける」の「値」その次に「形式を選択して貼り付ける」の「書式」を行なって値をセルの結合の書式などをコピーしました。

多分、もっと効率のよいコードが有ると思うのですが記録マクロから作ったのでこれしかできませんでした。

新規ブックにコピーなので、参考にならなかったらすみません。

【69198】Re:新規ブックにシートコピー
質問  ゆぅ  - 11/5/29(日) 9:30 -

引用なし
パスワード
   ▼UO3 さん:

アドバイスありがとうございます。

>ところで、ブックの構成ですが、評価Sheetは、複数の人の評価が記載されていて、
>そのなかの特定個人の評価が記載されている部分だけを新規ブックにするのでしょうか。
>それとも、個人別の評価シートで、シートそのまま、個人別ブックとするのでしょうか。
>もし、後者であれば、1〜4の作業をすこし変更したほうがいいかもしれません。
>(もちろん、これも手作業でできますし、これをマクロ記録すればコードが生成されます)


これは、後者のほうを考えています。
作業を、どのように変更すれば良ろしいでしょうか。


新規ブック作成→新規ブック名指定→保存 という流れはできるのですが
この流れの途中にセルのコピーペーストをする場合、新規ブック名の
コードが何になるのか分からず。。。


初歩的なことで、すいません。

【69199】Re:新規ブックにシートコピー
発言  ゆぅ  - 11/5/29(日) 9:37 -

引用なし
パスワード
   ▼ma さん:

アドバイスいただき、ありがとうございます。

今回は、シートコピーをしたシートにある関数を消そうと考え
コピーしたシートのセル値をコピーペーストしようと思っていました。

>私は、「形式を選択して貼り付ける」の「値」その次に「形式を選択して貼り付ける」の「書式」を行なって値をセルの結合の書式などをコピーしました。

今後、何らかの作業をする際に、値貼り付けは分かっていましたが、そのあとに
書式貼り付けを行うことを考えていませんでした。

参考にさせていただきます!

ありがとうございます!!

【69200】Re:新規ブックにシートコピー
回答  UO3  - 11/5/29(日) 13:26 -

引用なし
パスワード
   ▼ゆぅ さん:

こんにちは

まず、エクセルでの操作を以下に。

1.特定のシートのシートタブを右クリック
2.メニューから、移動またはコピー(M)を選ぶ
3.出てきた小窓で
 1)移動先ブック名(G)のコンボボックスから (新しいブック)を選び
 2)コピーを作成する(C)にティックをつけて
 3)OKボタン
4.これで、指定したシートだけのブックが新規で作成される。
5.作成された新規ブックのシートのセルをすべて選びCtrl/c
6.これを、形式を指定して貼り付け で値の貼り付けを選んで貼り付け
7.Escキーをおしてコピーモードを解除
8.名前をつけて保存。
9.保存したブックを閉じる。

この操作をマクロ記録してできあがるコードが基本コード。
できあがったコードは、Select/Selectionのペアがたくさん登場したり、
保存ファイル名等が固定になっているので、それをブラッシュアップしたり、変数で与えるように
して加工。

で、あとは、ブック内のシートについて、この操作を繰り返すことになります。
そこは、マクロ記録ではできないので、以下を参考に。

Sub Sample()
  Dim sh As Worksheet
  For Each sh In ThisWorkbook.Worksheets
    'ここにマクロ記録を基に作成したコードを。
    'sh.Name がシート名。
    '必要ならこのシート名を判定してブックを作成する、しないの判定を行う。
    'また保存ブック名い、このシート名を採用する。
    
    MsgBox sh.Name
    
  Next
End Sub

【69201】Re:新規ブックにシートコピー
お礼  ゆぅ  - 11/5/29(日) 20:12 -

引用なし
パスワード
   ▼UO3 さん:

早速のご教示、ありがとうございます。

まだ試せていないのですが、また分からない
事がでてきましたら、ご質問させてください!


色々と、助かりました!

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

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