お気持ちのみですが完成したら合計で300p差し上げます。

次の簡単なエクセルのマクロを作ってください。


1)A列に"filename001.pdf"などの、ファイルの名前が連続して書いてある。
2)エクセルの保存されているフォルダにそのファイルがあれば、B列に○を、なければ×を記入する。
3)終了条件=A列に空白セル発見。


よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/05/31 23:33:44
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント1pt
Sub Macro1()
'
' Macro1 Macro
'
Dim a As Long
Dim b As String

For a = 1 To 65536
    If Range("A" & a) = "" Then End
    
    b = Range("A" & a)
    If Dir(b) <> "" Then Range("B" & a) = "○"
Next a
    
End Sub
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント180pt

Sub Macro1()

'

' Macro1 Macro

'

Dim a As Long

Dim b As String

For a = 1 To 65536

If Range("A" & a) = "" Then End

b = Range("A" & a)

If Dir(b) <> "" Then Range("B" & a) = "○"

Next a

End Sub

id:ReoReo7

いつもありがとうございます。

2007/05/29 15:52:05
id:SALINGER No.3

回答回数3454ベストアンサー獲得回数969

ポイント60pt

せっかくだから、FileSystemObjectを使った例

Sub fileExist()
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim i As Long
    i = 1
    While Cells(i, 1).Value <> ""
        If fso.FileExists(CurDir & "\" & Cells(i, 1).Value) Then
            Cells(i, 2).Value = "○"
        Else
            Cells(i, 2).Value = "×"
        End If
        i = i + 1
    Wend
End Sub

\を半角¥にしてください

id:ReoReo7

どうもありがとうございます。

了解です。

2007/05/29 16:24:40
id:freemann No.4

回答回数337ベストアンサー獲得回数55

ポイント60pt

ちょっと別バージョン。ワークブックのパスを取得して、ほかのフォルダを参照することがないように確実にしてあります。

---------------------------------------------------

Dim a As String

Dim path As String

Dim i As Long

path = ThisWorkbook.path

i = 1

With Worksheets(1)

  Do

   a = Dir(path & "\" & .Cells(i, 1))

   If a <> "" Then

    .Cells(i, 2) = "o"

  Else

   .Cells(i, 2) = "x"

  End If

  i = i + 1

  If .Cells(i, 1) = "" Then

   Exit Do

  End If

 Loop

End With

id:ReoReo7

ありがとうございます。

2007/05/29 20:13:16

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません
${title} {{if price }}
${price}円
{{/if}}