お題「わたしの仕事場」
シートのコピーしてRENAMEする作業を
マクロ化しました。
操作手順は以下になります。
シート名:04-01(1)N1
を
右ボタンで移動またはコピー
新しいシートが作成され
シート名:04-01(1)N1(2)
になる
これを
シート名:04-02(1)N1
に変更
次に
セル
を
に変更。
以下のマクロで解決です。
マクロにショートカットキー Cntrl+Sをセットして
1.シート名:04-01(1)N1を右クリック
2.Cntrl+S
一瞬です
以上です
随分楽になりました。(Smile)
日々の作業がすこし楽になります。
プログラムに強い人に頼むほどのものではないので
自分で作っちゃいましょう!!
作れない人は、プログラミング覚えちゃいましょう!!
自分で作れるようになるとこのケースだと数時間で作成できちゃいます。
頑張りましょう!!
筆者ができるんだからきっとあなたもできます。
それから最後に、
プログラムに強い人に
「改善点は沢山ありますよ!!」
プログラムソースはこちら
Public Sub シートコピー1() Dim 日S As String Dim 日S1 As String Dim 日S2 As String Dim 機械S As String Dim 日夜S As String Dim 日付1 As Date Dim 日付2 As Date Dim sheet1 As Worksheet Set sheet1 = ActiveSheet '現シート名をsheet1にセット sheet1.Copy After:=Worksheets(1) 'シートをコピー 1番目シートの後に work_s1 = sheet1.name 'シート名を取得 02-01(X)N 2月1日X機Nタイプ 日付1 = Cells(6, 2) '日付を取得 ' mid$(変数,開始位置,文字数) 日S = Mid$(work_s1, 1, 5) '変数[WORK_S1] の1文字目から5文字分取得し変数[日S]に 日S1 = Mid$(日S, 1, 2) '月を取得 ⇒ 日S1 に 日S2 = Mid$(日S, 4, 2) '日を取得 ⇒ 日S2 に 機械S = Mid$(work_s1, 7, 1) 'キカイNO 日夜S = Mid$(work_s1, 9, 1) 'タイプ取得 If Val(日S2) < 9 Then '10日以下ならば 0を付加 work_s2 = 日S1 & "-" & "0" & Val(日S2) + 1 & "(" & 機械S & ")" & 日夜S & "1" Else work_s2 = 日S1 & "-" & Val(日S2) + 1 & "(" & 機械S & ")" & 日夜S & "1" End If ActiveSheet.name = work_s2 'コピーしたシート名を変更 日付2 = DateAdd("d", 1, 日付1) '日付を1日増加 Cells(6, 2) = 日付2 End Sub
「☺Smile☺Smile☺」