ikikan
Altın Üye
- Katılım
- 3 Mart 2009
- Mesajlar
- 519
- Excel Vers. ve Dili
- excel 2003 tr
- Altın Üyelik Bitiş Tarihi
- 12.02.2026
Arkadaşlar Bu forumda Zamanında indirdiğim bir dosyada yardıma ihtiyacım var.
listelediğim klasörleri excel sayfasına aralarında boşluk olmadan aktaramıyorum, yardım için şimdiden teşekkürler.
Örnek dosya ektedir
listelediğim klasörleri excel sayfasına aralarında boşluk olmadan aktaramıyorum, yardım için şimdiden teşekkürler.
Örnek dosya ektedir
Kod:
Public konumSat As Integer
Public konumSut As Integer
Sub DosyaListeYapı()
konumSat = 0
konumSut = 0
Application.FileDialog(msoFileDialogFolderPicker).Show
Range("B1").Value = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
Range("B6:Z10000").Clear
secimAdi = Right(Range("B1").Value, (Len(Range("B1").Value) - Len(Application.FileDialog(msoFileDialogFolderPicker).InitialFileName)))
Range("B6").Hyperlinks.Add Anchor:=Range("B6"), Address:=Range("B1"), TextToDisplay:=UCase(secimAdi)
Range("B6").Font.Color = vbBlack
Range("B6").Font.Bold = True
Call KlasorDosyaListe(Range("B1").Value)
End Sub
Private Sub FormatTemizle(Rng As Range)
Rng.Formula = Rng.Value2
Rng.Font.ColorIndex = xlAutomatic
Rng.Font.Underline = xlUnderlineStyleNone
End Sub
Function KlasorDosyaAdi(ByVal Yol As String) As String
If Right$(Yol, 1) <> "\" And Len(Yol) > 0 Then
KlasorDosyaAdi = KlasorDosyaAdi(Left$(Yol, Len(Yol) - 1)) + Right$(Yol, 1)
End If
End Function
Function KlasorDosyaListe(KlasorAdi As String) As Boolean
On Error Resume Next
Dim FSO, YeniKlasor, KlasorDizi, DosyaDizi, YeniDosya
Dim OriginalRange As Range
Dim KopruSil As Boolean
Set FSO = CreateObject("Scripting.FileSystemObject")
If Err.Number > 0 Then
KlasorDosyaListe = False
Exit Function
End If
If FSO.FolderExists(KlasorAdi) Then
Set YeniKlasor = FSO.GetFolder(KlasorAdi)
Set KlasorDizi = YeniKlasor.SubFolders
Set DosyaDizi = YeniKlasor.Files
KopruSil = False
Set OriginalRange = Range("A2").Offset(konumSat - 1, konumSut)
konumSut = konumSut + 1
For Each YeniKlasor In KlasorDizi
Range("A7").Offset(konumSat, konumSut).Hyperlinks.Add Anchor:=Range("A7").Offset(konumSat, konumSut), Address:=YeniKlasor, TextToDisplay:=UCase(KlasorDosyaAdi(YeniKlasor))
Range("A7").Offset(konumSat, konumSut).Font.Color = vbRed
KlasorDosyaListe (YeniKlasor)
konumSat = konumSat + 1
'KopruSil = True
Next YeniKlasor
For Each YeniDosya In DosyaDizi
Range("A7").Offset(konumSat, 14).Hyperlinks.Add Anchor:=Range("A7").Offset(konumSat, 14), Address:=YeniDosya, TextToDisplay:=KlasorDosyaAdi(YeniDosya)
Range("A7").Offset(konumSat, 14).Font.Color = vbBlue
konumSat = konumSat + 1
KopruSil = False
DoEvents
Next YeniDosya
If KopruSil Then
Call FormatTemizle(OriginalRange)
End If
Set YeniKlasor = Nothing
Set KlasorDizi = Nothing
Set DosyaDizi = Nothing
Set YeniDosya = Nothing
Else
KlasorDosyaListe = False
End If
Set FSO = Nothing
konumSut = konumSut - 1
End Function
Ekli dosyalar
-
90.5 KB Görüntüleme: 9