Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


56928 / 76732 ←次へ | 前へ→

【24545】Re:エラー処理について
回答  ウッシ  - 05/4/25(月) 15:12 -

引用なし
パスワード
   こんにちは

直すとしたらこんな感じです。

Sub test()
  Dim openfile
  Range("A1").Activate
  On Error GoTo errmsg
1:   ActiveCell.Offset(1, 0).Activate
  If ActiveCell = "" Then
    Exit Sub
  Else
    openfile = ActiveCell.Text
    Workbooks.Open( _
            FileName:="C:\デスクトップ\" & openfile & ".xls" _
            ).ActiveSheet.Range("B1").Value = "あ"
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    GoTo 1
  End If
errmsg:
  MsgBox "残念!" & openfile & "は見つかりません"
  Err.Clear
  GoTo 1
End Sub

この処理の場合、「On Error 〜」は使わないくてもいいと思います。
こんな感じで、

Sub test1()
  Dim openfaile As String
  Dim bk    As Workbook
  Dim r     As Range
  
  For Each r In Range("A2", Range("A65536").End(xlUp))
    If Not IsEmpty(r.Value) Then
      openfaile = "C:\デスクトップ\" & r.Value & ".xls"
      If Len(Dir(openfaile)) = 0 Then
        MsgBox "残念!" & openfaile & "は見つかりません"
      Else
        Set bk = Workbooks.Open(FileName:=openfaile)
        bk.ActiveSheet.Range("B1").Value = "あ"
        bk.Save
        bk.Close
      End If
    End If
  Next
End Sub
2 hits

【24543】エラー処理について こまったさん 05/4/25(月) 14:38 質問
【24544】Re:エラー処理について m2m10 05/4/25(月) 14:59 発言
【24545】Re:エラー処理について ウッシ 05/4/25(月) 15:12 回答
【24547】Re:エラー処理について こまったさん 05/4/25(月) 15:18 お礼
【24546】Re:エラー処理について こまったさん 05/4/25(月) 15:13 お礼

56928 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free