■ このスレッドは過去ログ倉庫に格納されています
Excel総合相談所 153
- 297 :名無しさん@そうだ選挙にいこう:2023/03/24(金) 19:12:11.70 .net
- >>274
実行時エラー1004が発生している原因は、新しいワークシートに既に使用されている名前を割り当てようとしているためです。この問題を解決するには、既に存在するワークシートと同じ名前が割り当てられないように、名前に一意性を持たせる必要があります。
以下は、ワークシート名に一意性を持たせる方法の一例です。プログラム9を以下のように修正してください。
vba
'プログラム9|コピーした「原紙」シートの名前を変更
Dim sheetName As String
Dim sheetIndex As Long
sheetIndex = 1
sheetName = sagaku & "_" & sheetIndex
Do While WorksheetExists(sheetName)
sheetIndex = sheetIndex + 1
sheetName = sagaku & "_" & sheetIndex
Loop
ws4.Name = sheetName
そして、以下のヘルパー関数WorksheetExistsを追加してください。
vba
Copy code
Function WorksheetExists(sheetName As String) As Boolean
On Error Resume Next
WorksheetExists = Not ThisWorkbook.Worksheets(sheetName) Is Nothing
On Error GoTo 0
End Function
これにより、既存のワークシートと同じ名前が使用されることがなくなり、エラーが発生しなくなるはずです。
https://ronpagpt.jp/?type=inquiry
総レス数 1002
233 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200