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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,327
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,327
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu satırda i3 değişkeni hangi değeri alıyor. Kontrol ettiniz mi?
 
Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
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.
 
Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
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.
 
Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
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ı.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba,
Kodunuzdaki
Kod:
i3 = Cells(i2, 5).Text
Kismi aşağidaki şekilde değiştirip deneyiniz.
Kod:
i3 = Cells(i2, 3).Text
 
Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
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.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
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.
 
Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
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
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Halletmiş olmaniza sevindim .Korhan bey değilim ????
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Estağfurullah kusurluk bir durum yok :) , rica ederim,iyi çalişmalar.
 
Üst