2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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