
以下のマクロ④がどうしても作れないので、ご教示頂けると幸いです。
'①選択したファイルを“E:\コスモス2006リンクフォルダ\体温表\2016\※バグあり分”に移動させる。ただし2016は現在の年とする。
'②“E:\コスモス2006リンクフォルダ\体温表\2016\※原本\新体温表色あり”をコピーし、選択したファイルが置いてあったフォルダ内に貼り付け、選択したファイル名と同一に名前にリネームする。
'③選択して移動させたファイルの名前に、右記を追記&リネームする。“バグあり_日時”
'ーーーーーーーーーここのマクロをつくってほしいーーーーーーーーー
'④双方を開いて、各シートのテキストをコピー/ペースト、終了とする。
'ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
※具体的なマクロはテキストをアップしています。
http://1drv.ms/1Qliz8O
何卒よろしくお願いします。(Excel2010です)
No.9ベストアンサー
- 回答日時:
ごめんなさい。
処理の説明をすべきでしたね(^_^;)あとわざわざCallする必要はないです。プロシージャ名を変更して貰えれば大丈夫です。
で本題なんですがなんでエラーが出ているかというと
「.Range("B3:D4") = BugWs.Range("B3:D4")...以下略」を12回書いているからです。
以前お見せしてもらったコードではわざわざ12ヶ月分の処理を書いていたので
For lngWsMonth = 1 To 12 から Next lngWsMonthで12ヶ月分の処理をする様に変更してあります。
なので「.Range("B3:D4") = BugWs.Range("B3:D4")」の部分は以前の1ヶ月分のみで問題ありません。
No.8
- 回答日時:
Option Explicit
Private Const strFixedPath As String = "E:\コスモス2006リンクフォルダ\体温表\"
Private Const strNewWbPath As String = "\※原本\新体温表色あり.xlsm"
Private Sub Test()
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Dim lngCheck As Long
lngCheck = MsgBox("他のExcelを開いている場合は起動できません。" & vbCrLf & "他のExcelは全て閉じていますか?", vbYesNo + vbQuestion, "バグ差し替え")
If lngCheck = vbYes Then
If Workbooks.Count > 1 Then
MsgBox "他のExcelが開いています。"
GoTo ExitProc
End If
ChDrive "E"
ChDir strFixedPath & Year(Now) & "\"
Dim vntOpenFileName As Variant
vntOpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xlsm")
If VarType(vntOpenFileName) = vbBoolean Then
MsgBox "キャンセルしました"
GoTo ExitProc
End If
Dim strBugWbNm As String
strBugWbNm = Dir(vntOpenFileName)
strBugWbNm = Replace(strBugWbNm, ".xlsm", "_バグあり(" & Format(Now(), "yyyymmdd-hhmmss") & ").xlsm")
Name vntOpenFileName As strFixedPath & Year(Now) & "\" & "※バグあり分\" & strBugWbNm
FileCopy strFixedPath & "※原本\新体温表色あり.xlsm", vntOpenFileName
Dim BugWb As Workbook
Dim BugWs As Worksheet
Dim NewWb As Workbook
Dim NewWs As Worksheet
Dim lngWsMonth
Set BugWb = Workbooks.Open(strFixedPath & Year(Now) & "\" & "※バグあり分\" & strBugWbNm)
Set NewWb = Workbooks.Open(vntOpenFileName)
For lngWsMonth = 1 To 12
Set BugWs = BugWb.Sheets(StrConv(lngWsMonth, vbWide) & "月")
Set NewWs = NewWb.Sheets(StrConv(lngWsMonth, vbWide) & "月")
BugWs.Unprotect
NewWs.Unprotect
With NewWs
.Range("B3:D4") = BugWs.Range("B3:D4")
.Range("E3:J4") = BugWs.Range("E3:J4")
.Range("K3:N4") = BugWs.Range("K3:L4")
・
・
・
.Range("AO98:AO105") = BugWs.Range("AO98:AO105")
.Range("AP98:AQ105") = BugWs.Range("AP98:AQ98")
End With
Set BugWs = Nothing
Set NewWs = Nothing
Next lngWsMonth
BugWb.Close SaveChanges:=False
NewWb.Close SaveChanges:=True
MsgBox "処理が終わったお"
End If
ExitProc:
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationManual
End With
End Sub
こんな感じでどうでしょうか?
せっかくですが、コンパイルエラー:プロージャが大きすぎます、とエラーが出てしまいます。また、教えて頂けると幸いです。以下長すぎるマクロです。http://1drv.ms/1TWePjL
No.4
- 回答日時:
あ、いやそうゆうことではなくてここ範囲被ってますよね?
n1.Range("Q2:V2") = b1.Range("Q2:V2")
n1.Range("P3:V4") = b1.Range("P3:V4")
No.2
- 回答日時:
①「選択した」ファイル → 「バグある分」フォルダにリネームして移動
②「原本」ファイル → 「選択した」ファイルへ複写
ここまでは、できているのですよね?
作って欲しいのは、「バグある分」ファイルの中身(シート)をコピーして、
「選択した」ファイル(中身は原本)にペーストということですか?
であれば、①を「移動」ではなく、「複写」にすればよいのでは?
しかし、相変わらず、「作って」なのですね。頑張って勉強しましょう!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「C:\\Windows\\Rundll32.exe ...
-
何故Windows8/8.1はクソやゴミ...
-
ファイル名が長すぎる場合のコ...
-
ファイルの属性の適用エラー
-
エクセルが使用中に強制終了→読...
-
Media PlayerをUSBへ書込み方法
-
ファイル名の先頭に連番をつけ...
-
エクスプローラーによるコピペ...
-
EXCELで、セル間隔をあけて貼り...
-
EXCELのシート別のファイ...
-
エクスプローラでの検索結果の保存
-
フォルダ内のファイルの移動、...
-
ファイルコピーができない
-
ファイルのコピーでメモリ不足...
-
ワードで保存したファイルが開...
-
「指定されたファイル名は無効...
-
DVD-RAMの動画をHDDにコピーしたい
-
ブルーレイディスクへのコピペ...
-
ヤフー 英語表記を直したい。
-
Win10で外付けHDDにファイル移...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルが使用中に強制終了→読...
-
Media PlayerをUSBへ書込み方法
-
ファイル名が長すぎる場合のコ...
-
ファイルを名前を変えて複数個...
-
「指定されたファイル名は無効...
-
EXCELで、セル間隔をあけて貼り...
-
フォルダ内のファイルの移動、...
-
OpenFile(アクセスが拒否されま...
-
ファイルの属性の適用エラー
-
WindowsImageBackupを移動したい
-
EXCELのシート別のファイ...
-
DVD-RAMの動画をHDDにコピーしたい
-
コピーしたファイルに“コピー~...
-
不良セクタ部分だけを無視し、...
-
データを移動中にエクスプロー...
-
ショートカット と コピーフ...
-
レンタルCDをUSBにダビン...
-
ファイル移動の速度が18MB/s~2...
-
512Mを超えてしまいword2007が...
-
エクスプローラでの検索結果の保存
おすすめ情報