ÇAlışmayan Makro Sorunu

Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Değerli forum kullanıcıları,
merhaba.

Aşağıdaki kod bir UserForm üzerindeki nesneler yardımı ile, dosyadaki bir sayfadan diğerine verilerin satırlar boyunca aktarılması ile ilgili seneryoyu yerine getirmektedir. Sayfa1den sayfa2 ye gönderilen veri, sayfa1 den silinmekte ve veriler satırlar halinde yukarıya kaydırılırken; aktarımın yapıldığı Sayfa2 de ise, aktarılmakta olan satırlar, en alttaki boş hücre gözetilerek aşağıya doru sıralanıyor.
Ancak Sayfa sayının 14'e, sütun sayısının 21'e çıkması ve Sayfa adlarının Sayfa2 de, Sayfa1 değilde Metinden oluşması (SATIŞ TEKLİF vs..) ardından Makro hata vermektedir. Halbuki Sayfa adı değişikliği kodlamada da değiştiriliyor. Neden makro bu durumda çalışmıyor olabilir, sayfa sayısının kod üzerindeki etkisi nedir hangi kod satırını ne şekilde etkilemektedir, ne yapmak gerekir?

SAygılarımla


Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
Set s1 = Sheets("Sayfa2")
Cancel = True
ActiveCell(1, -2).Select
sat = ActiveCell.Row


sat2 = s1.[a65536].End(3).Row + 1
s1.Rows(sat2).Insert
s1.Cells(sat2, "a") = sat2 + 1
s1.Cells(sat2, "b") = Cells(sat, "b")
s1.Cells(sat2, "c") = Cells(sat, "c")
s1.Cells(sat2, "d") = Cells(sat, "d")
s1.Cells(sat2, "e") = Cells(sat, "e")
s1.Cells(sat2, "f") = Cells(sat, "f")
Rows(sat).Delete
For i = 2 To Sheets("Sayfa2").Range("c65500").End(3).Row
Sheets("Sayfa2").Range("a" & i) = i - 1
Next i
For i = 2 To Range("c65500").End(3).Row
Range("a" & i) = i - 1
Next i
MsgBox " AKTARMA TAMAMLANDI "

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFiltering:=True
End Sub
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Verdiğiniz kodlarda safa2 adlı çalışma sayfasında işlemler yapılmaktadır.
Sayfa2 adlı çalışma sayfasının ismini değiştirdiğiniz veya o sayfayı sildiğiniz anda sayfa2'yi bulamayacağı için kod hata verecektir.:cool:
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Merhana sayın Orion,

Elbette ama bunları ben değiştirdim. Sütun sayısının artması ve sayfa adedinin artması bu kodlamayı nasıl değiştirir?
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Koddaki aşağıdaki kısım

s1.Cells(sat2, "a") = sat2 + 1
s1.Cells(sat2, "b") = Cells(sat, "b")
s1.Cells(sat2, "c") = Cells(sat, "c")
s1.Cells(sat2, "d") = Cells(sat, "d")
s1.Cells(sat2, "e") = Cells(sat, "e")
s1.Cells(sat2, "f") = Cells(sat, "f")

aynı şekilde hangi sütunlarsa oluşturuldu ama bu durumu çözmedi Sayfa2 yazan yerler işlemin yeni sayfasının adı ile değiştirildi amagene hata verdi.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhana sayın Orion,

Elbette ama bunları ben değiştirdim. Sütun sayısının artması ve sayfa adedinin artması bu kodlamayı nasıl değiştirir?
Hata veren kodları yazınız.:cool:
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
Set s1 = Sheets("Sayfa2")
Cancel = True
ActiveCell(1, -2).Select
sat = ActiveCell.Row


sat2 = s1.[a65536].End(3).Row + 1
s1.Rows(sat2).Insert
s1.Cells(sat2, "a") = sat2 + 1
s1.Cells(sat2, "b") = Cells(sat, "b")
s1.Cells(sat2, "c") = Cells(sat, "c")
s1.Cells(sat2, "d") = Cells(sat, "d")
s1.Cells(sat2, "e") = Cells(sat, "e")
s1.Cells(sat2, "f") = Cells(sat, "f")
Rows(sat).Delete
For i = 2 To Sheets("Sayfa2").Range("c65500").End(3).Row
Sheets("Sayfa2").Range("a" & i) = i - 1
Next i
For i = 2 To Range("c65500").End(3).Row
Range("a" & i) = i - 1
Next i
MsgBox " AKTARMA TAMAMLANDI "

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFiltering:=True
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kod:
ActiveCell(1, -2).Select
Aşağıdaki kod ilee değiştirip deneyiniz.:cool:
Kod:
ActiveCell.Offset(1, -2).Select
Bu durumdada Activecell A veya B sütununda ise kod yine hata verecektir.
Sebebi aktif sütundan -2 geri gitmesi.:cool:
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
merhaba.

"ActiveCell(1, -2).Select"

satırını kaldırıp bir deneyelim. farkedeceğini sanmıyorum.
aşağıdaki link de dosyayı değiştirdim.inceleyin.
http://www.excel.web.tr/showthread.php?t=42293
 
Son düzenleme:
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayın Cebir Merhaba,

Çalışmanızı inceleyip tekrar denedim, ancak sonuç "non"
Aşağıdaki kısımda hata veriyor:

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
Set s1 = Sheets("SATIS")
Cancel = True

Benim uyarladığım dosyada sütun sayısı 21. Sayfa2 yerinde ise SATIS sayfası mevcut. Sıralamayı U harfine kadar tamamladım.

Ama hata neden kaynaklanıyor bilemiyorum ve çok da merak ediyorum.

Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanızı eklerseniz bir bakalım.:cool:
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayın Cebir Merhaba,

Çalışmamızı gerçek dosyada uygulamaya çalıştım. Ancak aşağıdaki hata oluştu şimdi de. Gerçek dosyanın 21 sütunu var. Sayfa sayısı 8. Sayfa2 yerine SATIS isimli bir sayfa var. Ben kodlardaki sıralamayı 21 e denk gelen son sütuna yani U sütununa kadar tamamladım. Ancak aşağıdaki hata veriyor, ne yapmak gerekecek?

Saygılarımla

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
Set s1 = Sheets("SATIS")
Cancel = True
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
Cancel = True
bu satırıda kaldırıp deneyebilirmisiniz.
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Sayın Cebir ve Orion2 selamlar.
Olmuyor malesef,

Herşeyi denedik olmadı ben dosyamı ekliyorum. Ancak dosya bir programın CRM kısmıdır. İsmi : Data Analysis and Program Development yani DAP.
Bu ismi koydum. Geliştirmeye çalışıyorum. Bu nedenle karışık gelecektir. ama ben tarif edeyim. Dosya büyük olduğundan bazı yerlerini sildim veya çıkardım.

Açılan formun sağ üstünde SATIŞ butonu var oraya basınca Sayın cebirin geliştirdiği kısım var.. Formu KAPAT butonu ile kapayıp kodları excel üzerinden görüntüleyebilirsiniz.

Saygılarımla

Dosyam ektedir.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ekli dosya ve sizin yolladığınız dosya bende hata vermedi.
Eklediğim dosyayı bir denermisiniz.:cool:
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
gönderdiğiniz dosyada "satış kayıt"formu aktar butonu
başlık satırı seçılmedikçe aktarmayı yapıyor

ActiveCell(1, 2).Select

satırının gereği olduğunu sanmıyorum siliniz.
 
Son düzenleme:
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Açıkça söylemek lazım ki ben göremedim yani işlemi yapmıyor bence. Teklifler sayfasında iken SATIş butonuna basınca tüm satırlar boyunca seçilen satır, SATIS sayfasına en son boş satırı baz alarak yukarıdan aşağıya eklenmesi gerekiyor. Ama veri alınıyor ama sonrası belli değil. Bir de bazen hata veriyor mesela İnsert işlemi başarısız diyor
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Açıkça söylemek lazım ki ben göremedim yani işlemi yapmıyor bence. Teklifler sayfasında iken SATIş butonuna basınca tüm satırlar boyunca seçilen satır, SATIS sayfasına en son boş satırı baz alarak yukarıdan aşağıya eklenmesi gerekiyor. Ama veri alınıyor ama sonrası belli değil. Bir de bazen hata veriyor mesela İnsert işlemi başarısız diyor
Konunun çıkış noktası kodların hata vermesi idi.Şu anda Bu gözardımı ediliyor yoksa bu durum düzeldimi.Benim eklediğim dosyada herhangi bir hata vermiyor.:cool:
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Malesef veriyor. Teklif sayfasına gelip SATIŞ butonuna basıp istenen seçimlerden birini uyguladığınızda hata vermiyor mu? Ben de hata veriyor.
Vermediği zamanda, AKTARIM GERÇEKLEŞTİ dese de hücreleri ve dosyayı incelediğinizde hiçbiryere veri aktarılmadığını ya da sağlıklı alana ki ben bunu da görmedim, yerleşim yapmıyor? Buna dikkat ederseniz göreceksiniz. Bence zor yöntem. Kes yöntemi kullanıp bunu akatarma prosedürleri ile birleştirebilsek ya da ofset yöntemi.. bilemiyorum tabi ama..?
 
Katılım
23 Temmuz 2007
Mesajlar
178
Excel Vers. ve Dili
2003 Türkçe
Bir kez daha merhaba

Eklerde hata mesajını ve alnını görebilirsiniz.

SAygılarımla
 
Üst