すべてのカテゴリ » インターネット・パソコン » ソフトウェア » 使い方・不具合

質問

終了

エクセルのマクロに関する質問です。

今開いてるブックの『Aシート』に転送ボタンを作成します。これとは別に『Bシート』を作り、『Aシート』のセルC4からC27までと、『Bシート』のセルC4からC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内の『マクロ』というブック、『1シート』ならびに『2シート』の名前のシートにセルB9,C9,D9…といったように毎日転送(コピー)しようと思います。
イメージとしては以下の通りです。

【5/3】
『Aシート』
日付  名前   時刻  データ
5/1   田中  7:30  534986
5/2   太田  13:00  691324
5/3 鈴木  14:00 143985
↓[転送ボタン]
『1シート』
日付  名前   時刻  データ
5/1   田中  7:30  534986
5/2   太田  13:00  691324
5/3 鈴木  14:00 143985
【翌日5/4】
『Aシート』
日付  名前   時刻  データ
5/1   田中  7:30  534986
5/2   太田  13:00  691324
5/3 鈴木  14:00 143985
5/4   佐藤 8:30  068912
↓[転送ボタン]
『1シート』
日付  名前   時刻  データ
5/1   田中  7:30  534986
5/2   太田  13:00  691324
5/3 鈴木  14:00 143985
5/4   佐藤 8:30  068912

5/5以降も下の行に毎日『Aシート』『Bシート』に入力したデータを『1シート』『2シート』に転送(コピー)し保存します。
その際、転送先はシート保護をしておきたいのです。


Option Explicit
Private Sub CommandButton1_Click()
Call Macro1
End Sub

Sub Macro1()
Dim GYOU As Long

Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”
Sheets(”様式1”).Select
ActiveSheet.Unprotect

ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)
Sheets(”様式A”).Activate
Sheets(”様式A”).Unprotect

GYOU = .Sheets(”様式1”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式A”).Range(”A2:AA2000”).Value

Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Close SaveChanges:=True

End with

Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”
Sheets(”様式2”).Select
ActiveSheet.Unprotect

ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)
Sheets(”様式B”).Activate
Sheets(”様式B”).Unprotect

GYOU = .Sheets(”様式2”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式2”).Range(”A” & GYOU & ”:W” & GYOU + 1880).Value
=Sheets(”様式B”).Range(”A2:W2000”).Value

Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Close SaveChanges:=True

End with

MsgBox "『マクロブック』へ" & vbCrLf & "データ転送しました。"

End Sub


この様なマクロを組んでみましたが、転送先の『様式1』シートにはデータが転送されているものの保護が掛かっておらず、
転送先の『様式2』シートは保護が掛かったままデータが転送されていない状態です。

ポイントとしましては以下の通りです。
①『様式A,B』のシートは『様式1,2』へそれぞれ転送。
②毎日データ転送し、『様式1,2』へは下の行へその都度入る。
③『様式A,B』及び『様式1,2』は入力箇所以外は保護が掛けられ、データ転送後も保護が掛けられた状態のまま保存。

どの様に修正すれば良いのでしょうか?
よろしくお願いします。

  • 質問者:slfomxk
  • 質問日時:2016-05-27 22:06:25
  • 0
ソーシャルブックマークに登録する:

とくネタ総合ランキング

すべてを見る

トクネタを投稿する

Sooda!からのお知らせ

一覧を見る