ChatGPTちゃんにExcel VBAを作ってもらったのでメモしておく場所です。
VBAから逃げ続けてきた人生でしたが、業務の3割Excelなので流石に限界が来ていたところ
ChatGPTちゃんという救世主が出てきたのでありがたさしかないです。
すべてのシートで「全選択してコピーして値貼り付けする」操作を実行するVBA
Sub PasteValuesOnAllSheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next ws
End Sub
全てのシートについて、一つのシートを一つのブックに分けてそのファイル名をシート名にして保存してくれるVBA
Sub saveSheet()
Dim shObj As Worksheet
Dim newBook As Workbook
Dim newBookName As String
Dim folderParent As String
'シートの保存先はこのブックと同じとする
'必要に応じてこの変数を変更する
folderParent = ThisWorkbook.Path & "\"
'ワークシートの分だけ繰り返す
For Each shObj In Worksheets
'シート名を変数に格納しておく
newBookName = shObj.Name & ".xlsx"
'シートを新しいブックにコピーする
shObj.Copy
'移動先のブックがアクティブになっているので変数に格納する
Set newBook = ActiveWorkbook
'新しいブックを名前を指定して保存する
newBook.SaveAs folderParent & newBookName
'新しいブックを閉じる
newBook.Close
Next shObj
End Sub