• DİKKAT

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

for next döngüsünde sheet'e isim verirken aldığım hata hk.

Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
Merhaba,
Aşağıdaki kodun 1. döngüsünde problem olmuyor fakat 2. döngüsünde "=i3" ile biten yerde hata veriyor. makro yeni sheeti açıyor, kopyalanan yeri yeni sheete yapıştırıyor fakat yeni açılan sheete isim verirken hata veriyor.
Konu hakkında yardımlarınızı rica ederim.

For i2 = 2 To i1
Workbooks("Saha_satış_dataları.xlsx").Sheets("Fihrist").Select

Dim i3 As String
i3 = Cells(i2, 5).Text

Application.Workbooks.Open (f & "\" & Cells(i2, 5))

' A1 hücresi şube kodu açıklaması içeriyor mu? İlk kolonda şube kodu bilgisi yer alacağından ön kontroldür.

If Range("A1") <> "Şube Kodu" Then

MsgBox i3 & " raporundaki 'A1' hücresi 'Şube Kodu' bilgisini içermemektedir."
End

End If


If Range("B1") <> "İşlem Tarihi" Then

MsgBox i3 & " raporundaki 'B1' hücresi 'İşlem Tarihi' bilgisini içermemektedir."
End

End If

'Seçilen şubelere göre filtre uygulama işlemi

Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Workbooks("Satış_Kontrol_Data_Cek.xlsm").Sheets("Subelist").Range("A1:A6"), _
Unique:=False

Range("A1").Select
Selection.End(xlDown).Select
i4 = ActiveCell.Row


u21 = 0
u21 = u21 + 1

If u21 = 1 Then
Set Source = Range("A1:AZ" & i4 + 1).SpecialCells(xlCellTypeVisible)
Else
Set Source = Range("A2:AZ" & i4 + 1).SpecialCells(xlCellTypeVisible)
End If

Source.Copy

With Workbooks("Saha_satış_dataları.xlsx")
.Activate
.Worksheets.Add After:=Sheets(Sheets.Count)
Workbooks("Saha_satış_dataları.xlsx").ActiveSheet.Paste

Workbooks("Saha_satış_dataları.xlsx").ActiveSheet.Name = i3
 
Hata kontrollerini yakalamanın en kolay yolu kodu F8 ile adım adım çalıştırmaktır.

i3 dediğiniz değişkenin aldığı değerleri kontrol ediniz. Boş olursa hata verebilir. Karakter sayısı 31'den büyükse hata verebilir.
 
Hata kontrollerini yakalamanın en kolay yolu kodu F8 ile adım adım çalıştırmaktır.

i3 dediğiniz değişkenin aldığı değerleri kontrol ediniz. Boş olursa hata verebilir. Karakter sayısı 31'den büyükse hata verebilir.
Merhaba Korhan bey. Datamı F8 ile çalıştırdım ve hata veren yeri yazdım( sizlere yazdığım yerin en sonundaki Workbooks("Saha_satış_dataları.xlsx").ActiveSheet.Name = i3
Kısmında hata veriyor. İlk döngüde hata vermiyor. İkinci döngüde hata veriyor.
Teşekkürler
 
Bu satırda i3 değişkeni hangi değeri alıyor. Kontrol ettiniz mi?
 
Bu satırda i3 değişkeni hangi değeri alıyor. Kontrol ettiniz mi?
İlk for döngüsünde 01.1.01.yeni_müşteri_açılışları ikinci for döngüsünde ise 01.1.01.Ortak_Müşteri_Açılışları dosyasını açıyor filtreliyor ana datama kopyalıyor sheete isim vermesi gerekiyor. 01.1.01.Ortak_Müşteri_Açılışları diye ama kod 1004 hatası veriyor. Kod hatalı olsa ilk döngüde hata verirdi. İlk döngü dönüyor ikinci döngüse hata veriyor.
 
Hata kontrollerini yakalamanın en kolay yolu kodu F8 ile adım adım çalıştırmaktır.

i3 dediğiniz değişkenin aldığı değerleri kontrol ediniz. Boş olursa hata verebilir. Karakter sayısı 31'den büyükse hata verebilir.
Korhan bey sorunu çözdüm. İsim verecek sheetin karakter sayısı 31 karakterden uzun olduğu için problem olmuş. Çok teşekkür ederim.
 
Bu satırda i3 değişkeni hangi değeri alıyor. Kontrol ettiniz mi?
Korhan Bey merhaba,
Şimdi benim isim verdiğim İ3 değişkeni verileri 31 karakterden uzun olduğu için bende İ3 değişkeninden 2 sütun önceki sütun verilerini isim olarak alsın diye İ3 - 2 dedim ama hata verdi. Bu problemi nasıl düzeltebiliriz. Parantezi de denedim (i3 - 2) şeklinde ama olmadı.
 
Merhaba,
Kodunuzdaki
Kod:
i3 = Cells(i2, 5).Text
Kismi aşağidaki şekilde değiştirip deneyiniz.
Kod:
i3 = Cells(i2, 3).Text
 
Merhaba,
Kodunuzdaki
Kod:
i3 = Cells(i2, 5).Text
Kismi aşağidaki şekilde değiştirip deneyiniz.
Kod:
i3 = Cells(i2, 3).Text
Ama cells(i2, 5) sütunlarındaki isimlere göre sırayla dosyalar açıyor ve o dosyaların içindeki verileri alıp yeni açtığım excel içerisine kopyalıyorum. Eğer sizin dediğiiz gibi yaparsam o zamanda dosya isimleri ile sütınlar eşleşmediği için açmayacaktır dosyayı diye düşünüyorum.
 
Sadece dediğim satiri değiştirip denediniz mi?
Dosya açilisi Application.Workbooks.Open (f & "\" & Cells(i2, 5)) bu kodla gerçekleşiyor ve ben buradaki Cells(i2, 5) değiştirin demedim o yüzden dosya açmakta sikinti yaşayacağinizi düşünmüyorum, tabi kodda başka bir sikinti yok ise.
 
Merhaba,
Kodunuzdaki
Kod:
i3 = Cells(i2, 5).Text
Kismi aşağidaki şekilde değiştirip deneyiniz.
Kod:
i3 = Cells(i2, 3).Text
Hallettim Korhan Bey :)
İ50 diye bir değişken tanımladım. Onuda i50=cells(i2,5) şeklinde tanımladım oldu.
Yinede çok teşekkür ederim ilgi ve alaka ız için
 
Halletmiş olmaniza sevindim .Korhan bey değilim ????
 
Estağfurullah kusurluk bir durum yok :) , rica ederim,iyi çalişmalar.
 
Geri
Üst