• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Klasör oluşturma ve içine dosya yükleme

  • Konbuyu başlatan Konbuyu başlatan muyat
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Aşagıdaki 1. kod çalışma kitabının bulundugu ana klasöre seçilen hücrelerdeki verileri pdf olarak oluşturuyor.
Çalışma kitabımın bulundugu klasörün adı da "iepkonya1" bu arada.
İstedim şey şu :
Makro çalışınca program ana klasör içinde bir alt klasör oluşturcak ve ilgi sayfadaki 4.satır ve 2. sütundaki hücrenin içinde ne yazıyorsa klasöre o isim vercek ve oluşan pdf dosyasını o klasörün içine atacak... Aşagıda 2 kod yazdım.2.kod kısmında yapmaya çalıştım ama hata nerde yardımcı olur musunuz
Kod:
  If Range("NW87") = 3 Then
 yol = ThisWorkbook.Path
isim = SA.Range("A1979").Value & "-" & SA.Range("CD110") & "-" & SA.Range("h2")
SA.Select
SA.Range("CA103:CJ137,CK140:CT163").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol _
& "\" & isim & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Else
End If

Kod:
If Range("NW87") = 3 Then
yol = "C:\Users\" & Environ$("UserName") & "\Desktop\iepkonya1\"
klasor = yol & Cells(4, 2).Value

On Error Resume Next
MkDir klasor
On Error GoTo 0




 
yol2 = "C:\Users\" & Environ$("UserName") & "\Desktop\iepkonya1\klasor"


isim = SA.Range("A1979").Value & "-" & SA.Range("CD110") & "-" & SA.Range("h2")
SA.Select
SA.Range("CA103:CJ137,CK140:CT163").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol2 _
& "\" & isim & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True

    Else
End If
 
Aşagıdaki 1. kod çalışma kitabının bulundugu ana klasöre seçilen hücrelerdeki verileri pdf olarak oluşturuyor.
Çalışma kitabımın bulundugu klasörün adı da "iepkonya1" bu arada.
İstedim şey şu :
Makro çalışınca program ana klasör içinde bir alt klasör oluşturcak ve ilgi sayfadaki 4.satır ve 2. sütundaki hücrenin içinde ne yazıyorsa klasöre o isim vercek ve oluşan pdf dosyasını o klasörün içine atacak... Aşagıda 2 kod yazdım.2.kod kısmında yapmaya çalıştım ama hata nerde yardımcı olur musunuz


Kod:
If Range("NW87") = 3 Then
yol = "C:\Users\" & Environ$("UserName") & "\Desktop\iepkonya1\"
klasor = yol & Cells(4, 2).Value

On Error Resume Next
MkDir klasor
On Error GoTo 0


yol2 = "C:\Users\" & Environ$("UserName") & "\Desktop\iepkonya1\klasor"


isim = SA.Range("A1979").Value & "-" & SA.Range("CD110") & "-" & SA.Range("h2")
SA.Select
SA.Range("CA103:CJ137,CK140:CT163").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol2 _
& "\" & isim & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True

    Else
End If

Kod ierindeki aşağıdaki satırı kontrol eder misiniz

Kod:
yol2 = "C:\Users\" & Environ$("UserName") & "\Desktop\iepkonya1\klasor"
 
Tamer hocam kontrol ettim
Program "yol"un oldugu yere klasör oluşturuyor.Oraya kadar sorun yok.
Fakat pdf dosyalarını ise , oluşturan yeni klasörün içine atmıyor hala.Sorunu bulamadım
 
Tamer hocam kontrol ettim
Program "yol"un oldugu yere klasör oluşturuyor.Oraya kadar sorun yok.
Fakat pdf dosyalarını ise , oluşturan yeni klasörün içine atmıyor hala.Sorunu bulamadım

Aşağıdaki şekilde denedim, bende sorunsuz çalışıyor.
On Error Resume Next satırnı kaldırarak bir deneyi, hatnın nerede olduğunu göürsünüz.

Kod:
Sub Testttt2()
  Dim SA As Worksheet
  Dim isim As String
  Dim us As String
  
  Set SA = Sayfa2
 
      isim = SA.Range("C1").Value
      
If Range("E2") = 11 Then
yol = "C:\Users\" & Environ$("UserName") & "\Desktop\HUB\"
klasor = yol & Cells(1, 2).Value

On Error Resume Next
MkDir klasor
On Error GoTo 0

us = "Tamer"
 
yol2 = "C:\Users\" & us & "\Desktop\HUB\pdf"

SA.Select
SA.Range("A2:A82,C2:E7").Select

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol2 _
& "\" & isim & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True

    Else
End If

  End Sub
 
MkDir satırından sonra On Error GoTo 0 komutu ile hata moduna dönülüyor. (On Error Resume Next iptal ediliyor diyelim.)
aynı isimde bir klasör varsa kodun durmaması için önlem.

muhtemelen alt alta veya yan yana olmayan alanların seçimi ile ilgili.

export öncesi boş bir sayfada birleştirip deneyin. bakalım istenen sonucu verecek mi?
 
MkDir satırından sonra On Error GoTo 0 komutu ile hata moduna dönülüyor. (On Error Resume Next iptal ediliyor diyelim.)
aynı isimde bir klasör varsa kodun durmaması için önlem.

muhtemelen alt alta veya yan yana olmayan alanların seçimi ile ilgili.

export öncesi boş bir sayfada birleştirip deneyin. bakalım istenen sonucu verecek mi?
Üstat ne yapmak istediğinizi işin açıkçası tam anlamadım, yan yana olmayla bir ilgisi olmaz.
SA.Range("A2:A82,C2:E7").Select

daha açıklayıcı yazarsanız yardımcı olmak isteriz.
 
Selamlar.
Bir şey yapmıyorum açıkçası.
Biraz google'a baktım. Hata vermesinin sebebi bitişik olmayan hücre seçimi olabilir diye bir tahmi yürüttüm. Çünkü bu tarz yorumlara denk geldim.

kısaca sorun çoklu hücre seçiminden kaynaklanıyor olabilir.

elimizde dosya olmadığı için test etme imkanı yok tabii. [zamanım olmadığı için kendim dosya oluşturup test yapamadım.]

A1:C40 : bitişik, yana yan olan alan [contiguous range]
(A1:C20, A25:C45) : bitişik olmayan alan. [noncontiguous range]
 
Geri
Üst