29/02/2024, 11:33
Dosya İçerisinde Var Mı Yok Mu?
1 2
29/02/2024, 11:33
cdenktas
29/02/2024, 12:49
atoykan
Örneğinizde belge yolunu köprü olarak formüle ederek oluşturup alternatif metin olarak sonuç döndürmüşsünüz. Ben örneğinizi incelememiş Sayın @onur_can 'ın verdiği destek çerçevesinde kodu genel yapıya uyarlamıştım. Alternatif metin dosya yolunu içermiyor o yüzden hata alıyorsunuz, ayrıca Open işleminde Excel'de bazen sorun çaıkartabiliyor onu atlamışım onun yerine Dir kullanılabilir.
Bu hali ile deneyin sorununuz çözülmüş olur
Bu hali ile deneyin sorununuz çözülmüş olur
Dim ws As Worksheet, LastRow As Long, i As Long
Set ws = ThisWorkbook.Sheets("Sayfa1") ' Çalışmak istediğiniz sayfa adı
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Son kullanılan satır
For i = 2 To LastRow ' Başlıkların olduğu ilk satırı atlar
BelgeYolu = "C:\.........\Belge Getirmek\Belge\" & ws.Cells(i, 3).Value & ".pdf" 'dosya yolunu kendi çalışmanıza göre düzenleyin
If Len(BelgeYolu) > 0 Then ' Belge sütunu boş değilse
If Dir(BelgeYolu) <> "" Then
ws.Cells(i, 4).Value = "Var"
Else
ws.Cells(i, 4).Value = "Yok"
End If
Else
ws.Cells(i, 4).Value = "Yok"
End If
Next i
29/02/2024, 13:46
cdenktas
(29/02/2024, 12:49)atoykan yazdı: Örneğinizde belge yolunu köprü olarak formüle ederek oluşturup alternatif metin olarak sonuç döndürmüşsünüz. Ben örneğinizi incelememiş Sayın @onur_can 'ın verdiği destek çerçevesinde kodu genel yapıya uyarlamıştım. Alternatif metin dosya yolunu içermiyor o yüzden hata alıyorsunuz, ayrıca Open işleminde Excel'de bazen sorun çaıkartabiliyor onu atlamışım onun yerine Dir kullanılabilir.
Bu hali ile deneyin sorununuz çözülmüş olur
Dim ws As Worksheet, LastRow As Long, i As Long
Set ws = ThisWorkbook.Sheets("Sayfa1") ' Çalışmak istediğiniz sayfa adı
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Son kullanılan satır
For i = 2 To LastRow ' Başlıkların olduğu ilk satırı atlar
BelgeYolu = "C:\.........\Belge Getirmek\Belge\" & ws.Cells(i, 3).Value & ".pdf" 'dosya yolunu kendi çalışmanıza göre düzenleyin
If Len(BelgeYolu) > 0 Then ' Belge sütunu boş değilse
If Dir(BelgeYolu) <> "" Then
ws.Cells(i, 4).Value = "Var"
Else
ws.Cells(i, 4).Value = "Yok"
End If
Else
ws.Cells(i, 4).Value = "Yok"
End If
Next i
Var olun, çok teşekkür ederim. Emeğinize sağlık...
1 2