![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
エクセル2010を使用しております。
シートBを営業日が終了したらコピーして別シートCに保存したいのですが
リンクして数字をひっぱっているので そのリンク元(シートA)は 営業日が終了した時点で
数字をクリアして 翌営業日に使用しています。
ですので シートBをコピーしても リンク元(シートA)をクリアすると
入力されていた数字も同時に消えてしまうし
また あたり前ですが、元のシートAに数字をいれると 違う数字になってしまいます。
そこで 画像としてコピーして保存するか
印刷して データを打ち直すかしか 考えが 浮かびませんが・・・
マクロを使って いい方法はないものでしょうか?
シートを新規に作成→シートBの印刷エリアをコピー→シートCに形式を選択して画像として貼り付け
→画像を適切な大きさに縮小する。
上の一連の流れをマクロで できるのか?考えてみましたが、
できれば 画像ではなく コピーして新規シートに作成したいんですが
毎日の作業なので頭がいたいです。もっと絶対いい方法があるとおもいますが。
詳しい方、お願いします。
No.4ベストアンサー
- 回答日時:
いや,こっちにしましょう。
sub macro3()
worksheets("集計表").copy after:=worksheets("集計表")
activesheet.usedrange.value = activesheet.usedrange.value
on error resume next
activesheet.name = format(date - 1, "yyyymmdd")
end sub
この回答への補足
keithinさん たびたびの回答ありがとうございます。
自宅に帰り、コード試さしていただきます。
もうしわけありませんでした。
No.5
- 回答日時:
まず、マクロに慣れることからされたらいかがでしょうか。
そうすれば質問も具体的に出来ると考えます。
EXCELでは「マクロの記録」という機能(マウスで行った操作が記録されます)があります。
(0)マクロ記録をこれを開始します(小さな記録終了ボタンだけになって終わるのを待っています)。
(1)オリジナルシートを新しいシートをにピーする。
シートタブを右クリックしてシートのコピーをさせることになるのでしょう。
(2)オリジナルシートを選択して、コピーします。
(3)新しく作成したシートに形式を選択して貼り付けを選び、「値」だけを貼り付けます。
(4)マクロ記録を終了させます。
出来上がったマクロは固定的なものですが使えると思います。
後はマクロをダイレクトに呼び出すか、ボタンコントロールを作り、マクロを対応させるなどすれば良いのではないでしょうか。
※ボタンの作り方にはたしか2通りあるので正しい方を使ってください。ボタンの右クリックでマクロの登録?が出るのが正しい方です。
No.3
- 回答日時:
なぜ同じ事を二回もご説明しなきゃならないのでしょうか。
アナタがやりたかったこと:
>集計表シートをコピーしてシート名は、前日の日付 01/06/12
>などと 日々蓄積コピーできればいいと考えております。
>考えております。
回答済み内容:
集計表に一日分溜まったら,別のシート2に転記したい
次の日に集計表にまた一日溜まったら違うシート3に転記して,毎日の集計表シートを蓄積したい
sub macro2()
worksheets("集計表").usedrange.copy
worksheets.add after:=worksheets("集計表")
activecell.pastespecial xlpastevalues
acftivesheet.name = format(date -1, "yyyymmdd")
end sub
No.2
- 回答日時:
ご相談では,毎日のデータを「どこに(どんな具合に)貼り付けたい」のか,一番肝心な事が書かれていません。
二番目に大事な,「どこのセルからコピーしたい」のかも説明が抜けてます。
具体的なマクロの作成に必要になる,それぞれのシートの名称も不明なままです。
アナタがやりたかったのはこういうことですか?その1:
シート1の例えばA1:J20が元の範囲だとして
これを丸ごとシート2にまず最初の20行分を貼り付けたら,明日はその下に20行下げたところに貼って,蓄積していきたい
具体的な手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける
sub macro1()
worksheets("Sheet2").cells.specialcells(xlcelltypelastcell).offset(1).end(xltoleft).range("A1:J20").value = worksheets("Sheet1").range("A1:J20").value
end sub
ファイルメニューから終了してエクセルに戻る
ALT+F8を押して(あるいはオートシェイプなどでボタン絵柄を配置して右クリックしてマクロの登録を行い)マクロを実行する
#実際には
具体的に蓄積したいセルを特定して,その値だけを転記して蓄積していきます
アナタがやりたかったのはこういう事ですか?その2:
シート1に一日記入したら,別のシート2に転記したい
次の日にシート1にまた一日記入したら違うシート3に転記して,毎日の日報シートを蓄積したい
sub macro2()
worksheets("Sheet1").usedrange.copy
worksheets.add after:=worksheets("Sheet1")
activecell.pastespecial xlpastevalues
end sub
この回答への補足
keithinさん 説明不足ですみません。
集計表 というのが sheets名で A1:H37 が 元の範囲となります。
こちらが 日報 という 日々入力しているsheetsから
いくつかの数字を リンクして 表示しております。
希望するのは 日々の日報シートを蓄積したいという方であります。
毎日 朝9時に 日報を閉めクリアーにしております。
おのずと 日報をクリアーすると集計表のリンクしている数字は消えますので
クリアする前に 集計表は印刷するように現在はしております。
そのあとで 集計表のひな形に日付と シート名を変えて 中の数字を入れなおしております。
ですので大変作業効率がわるいので改善したく質問させていただきました。
集計表シートをコピーしてシート名は、前日の日付 01/06/12
などと 日々蓄積コピーできればいいと考えております。
考えております。
可能でしょうか?何度も大変もうしわけありませんが、できればアドバイスお願いします。
No.1
- 回答日時:
こんな感じでどうでしょうか?
試しにB2~G24をコピーするようにしてみました。
画像ではなく、セルの値と書式を貼付けるので、元の数値が変化してもコピー先は変化しません。
Sub test()
日付 = Format(Now(), "yymmdd")
Range("B2:G24").Copy
Worksheets.Add
ActiveSheet.Name = 日付
With Range("B2:G24")
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
End With
End Sub
この回答への補足
BATIBACHIさん回答ありがとうございます。
テストコードはこれから やらさせていただきますが、説明不足がいなめないので 補足させていただきます。
集計表 というのが sheets名で A1:H37 が 元の範囲となります。
こちらが 日報 という 日々入力しているsheetsから
いくつかの数字を リンクして 表示しております。
毎日 朝9時に 日報を閉めクリアーにしております。
おのずと 日報をクリアーすると集計表のリンクしている数字は消えますので
クリアする前に 集計表は印刷するように現在はしております。
そのあとで 集計表のひな形に日付と シート名を変えて 中の数字を入れなおしております。
ですので大変作業効率がわるいので改善したく質問させていただきました。
集計表シートをコピーしてシート名は、前日の日付 01/06/12
などと 日々蓄積コピーできればいいと考えております。
考えております。
時間があれば アドバイスいただければと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロで指定条件一...
-
シートをコピーして シートに...
-
エクセル マクロの作り方
-
【マクロ】毎回、ファイル名が...
-
条件に応じて特定の行を非表示...
-
エクセルの複数シートの保護を...
-
EXCEL:同じセルへどんどん足し...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの平均を算出し平均...
-
前の(左隣の)シートを連続参...
-
エクセルVBAでパスの¥マークに...
-
Excelで同じシートのコピーを一...
-
「マクロ」の足し算の式を教え...
-
エクセルで「ウィンドウを元の...
-
Excelで連続印刷をするマクロ
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前シートを参照して...
-
EXCELで同一フォーマットのシー...
-
別シート参照のセルをシート毎...
-
excelで会議室予約表の作成(マ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのマクロで指定条件一...
-
シートをコピーして シートに...
-
【マクロ】顧客番号にて一致さ...
-
Excelでシート名と最終更新日を...
-
エクセルのマクロ設定について...
-
Excel シートを自動作成、セル...
-
【マクロ】毎回、ファイル名が...
-
新しいマクロの記録でコピーし...
-
エクセル マクロ 任意のファ...
-
エクセルVBA 行列を一気に変換...
-
シートをコピー、シート名を変更
-
プロジェクトロックしてあるシ...
-
リンクがあるシートBのコピーを...
-
Excel VBA 検索して該当行を抽出
-
エクセルのbookを開いたときに
-
VBA データ左側から3文字で分類...
-
エクセル マクロの作り方
-
エクセルのマクロ コマンドボ...
-
Excel マクロ 他ブックのシート...
-
Excel で選択しているセルの行...
おすすめ情報