• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü vba ilk işlem hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

turgay1983

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
14 Haz 2022
Mesajlar
209
Çözümler
2
Aldığı beğeni
19
Excel V
Office 2016 TR
Konuyu Başlatan
merhaba
benim sizlere 2 sorum var
1. ekteki excelde ana menüde satış faturası işlemini yaptığımda. tüm işlemler doğru gidiyor sadece StokSorgu sayfasındaki hareketleri StokHareket sayfasına aktarırken ilk sütünü aktarıyor. bunu ilk evrakta yapıyor diğer evraklarda kaç hareket var ise sıkıntı olmadan yapıştırıyor. bunun sebebi ne olabilir.
2. ise kaydet bastığımda etopla işlemi yüzünden kaydetme süresi çok uzuyor bunu hızlandırmanın bir yolu var mı.?
 

Ekli dosyalar

  • Stok_Takip.xlsm
    220.8 KB · Gösterim: 7
Çözüm
Hemen hemen kodları döngülü yaptığınız için ona göre ayarladım.Alttak, daha mantıklı.
satBosSorgu adında değişken tanıplayıp boş satır no yu ona aktardım.
Eğer bu değişken sonucu 2 ise mantıken veri olmayacağı için birşey yapmaz değilse mesela satBosSorgu 20 ise yani boş satır no 20 ise son dolu satır no 19 olur bir eksiği.Bunun için Range("a2:w" & y - 1).Select '-1 ekledim.Zaten kodları anlamaya çalışrsanız zor birşey değil anlaması.
Kaydetmede veriler olmadığı için ben deneyemedim sonucu yazarsınız.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
2. ise kaydet bastığımda etopla işlemi yüzünden kaydetme süresi çok uzuyor bunu hızlandırmanın bir yolu var mı.?
Merhaba.
Yukardaki soru için örnek olarak alttaki gibi diğerlerinide dizi olarak yapabilirsiniz ben bunu yaptım.
Application.screenupdating gibi olaylarınıda araştırabilirsiniz.

1.Soru zaten anlaşılmıyor.Hangi formda ne yapılacak güzelce açıklama yaparsanız anlamış olur yardımcı olacaklar ben kendi adıma zor anladım.Tabii 2.soruyu anlamak biraz daha kolay oldu :)

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Merhaba.
Yukardaki soru için örnek olarak alttaki gibi diğerlerinide dizi olarak yapabilirsiniz ben bunu yaptım.
Application.screenupdating gibi olaylarınıda araştırabilirsiniz.

1.Soru zaten anlaşılmıyor.Hangi formda ne yapılacak güzelce açıklama yaparsanız anlamış olur yardımcı olacaklar ben kendi adıma zor anladım.Tabii 2.soruyu anlamak biraz daha kolay oldu :)

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
bu işlem oldukça hızlandırdı teşekkür ederim
1.soru için kusura bakmayın tekrardan anlatmaya çalışayım.
satış faturasını ilk işlem yaptığımda yani ilk faturayı girdiğimde stok sorgu sayfasındaki eklenen ürünleri stok hareketler sayfasına aktarırken son satırı aktarmıyor.
 
bu işlem oldukça hızlandırdı teşekkür ederim
1.soru için kusura bakmayın tekrardan anlatmaya çalışayım.
satış faturasını ilk işlem yaptığımda yani ilk faturayı girdiğimde stok sorgu sayfasındaki eklenen ürünleri stok hareketler sayfasına aktarırken son satırı aktarmıyor.
Rica ederim.Tekrar bakacağım.
Normalde kaydet basınca neden döngü ile son satıra kadar aynı etopla yapılıyorki.Sadece kaydedilen satıra etopla uygulanabilinir normalde ama şimdilik o konuya girmeyelim.
 
1.Soruyu halen anlamadım.
Frm_SatisFaturasi formunda Kaydet butonunamı tıklayacaksınız?
Evet ise zaten örnek veriyorum alttaki kodunuz sanki hatalı.
Yani deniyorum boş satırlar seçiyor,kesiyor tekrar seçiyor vs.. ve boş satırları yapıştırıyor.
Tam olarak ne yapmak istediğinizi adım adım yazarsanız döngüsüz şekilde basitçe son satır olayları vs.. yapılır.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
1.Soruyu halen anlamadım.
Frm_SatisFaturasi formunda Kaydet butonunamı tıklayacaksınız?
Evet ise zaten örnek veriyorum alttaki kodunuz sanki hatalı.
Yani deniyorum boş satırlar seçiyor,kesiyor tekrar seçiyor vs.. ve boş satırları yapıştırıyor.
Tam olarak ne yapmak istediğinizi adım adım yazarsanız döngüsüz şekilde basitçe son satır olayları vs.. yapılır.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
stokaktar döngüsünün yapmak istiyorum aslında.
stoksorgu sayfasındakileri a2: w dolu satırları kesip Stokhareket sayfasının dolu hücresinden başlayıp yapıştıracak. aslında istediğim sadece bu
 
1.Soruyu halen anlamadım.
Frm_SatisFaturasi formunda Kaydet butonunamı tıklayacaksınız?
Evet ise zaten örnek veriyorum alttaki kodunuz sanki hatalı.
Yani deniyorum boş satırlar seçiyor,kesiyor tekrar seçiyor vs.. ve boş satırları yapıştırıyor.
Tam olarak ne yapmak istediğinizi adım adım yazarsanız döngüsüz şekilde basitçe son satır olayları vs.. yapılır.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Üstad yukardaki kodu mobilden anladığım kadarıyla anlatmaya çalışayım.
Stokhareket sayfasunda ilk bulduğu boş satır noyu bulup kod döngüden çıkıyor.Sonra bu bulduğu boş satır nosunu stoksorgu sayfasında a2:wsonbos satırnoyu kesiyor.Bence sorunda burda yani stokhareketleri sayfasının boş satır no ile stoksorgu sayfasının koda göre (x) olan satır nosu uyumsuz yani x stokhareketlerinin boş satır nosu.
Benim denemelerimde kaydete basınca zaten aktarma olmuyordu.Yinede yarın bakarım bir daha.
 
Birde y gibi bir değişkdn tanımlayıp stoksorgu sayfasının bış satırını döngü ile alabilirdiniz koddaki yöntemle.
Ona görede kesip yapıştırma yaparsınız.Kısaca koda göre x her iki sayfa için kullanıldıpı için problem.Tabii döngüden öıkınca y değişkeni boş satır no olacağı için keserken y-1 gibi olabilir.Dediğim gibi yarın tekrar bakarım yinede dediklerimi uygularsınız zor değil zaten.
 
Ayrıca anladığım bir youtube kanalını izleyip yapıyorsunuz.Tahmin ettiğim kanal ise son boş satır no olayını döngüsüz göstermişti ve bir araltırma yaparsanızda tek satırlık kodla bulursunuz basitçe boşu boşuna döngüye gerek yok.Bir örnek yazayım mesela alttaki gibi tabi kod başına sayfa adı yazılmalı.Sanki başka bir konuda benzer aöıklama yazmıltım size gibi hissediyorum.

Cells(rows.count,"A").end(3).row +1
 
Ayrıca anladığım bir youtube kanalını izleyip yapıyorsunuz.Tahmin ettiğim kanal ise son boş satır no olayını döngüsüz göstermişti ve bir araltırma yaparsanızda tek satırlık kodla bulursunuz basitçe boşu boşuna döngüye gerek yok.Bir örnek yazayım mesela alttaki gibi tabi kod başına sayfa adı yazılmalı.Sanki başka bir konuda benzer aöıklama yazmıltım size gibi hissediyorum.

Cells(rows.count,"A").end(3).row +1
evet youtube ve bu siteden aldığım bilgiler dahilinde yapmaya çalışıyorum. belli bir yere geldi aslında sayenizde

Dim x As Long
For x = 2 To 1000000
If Sheets("StokHareket").Range("a" & x).Value = "" Then Exit For
Next
bunun yerine mi yazacağım
birde kontrol edip uygulama hakkında bilgi verirseniz sevinirim eksik var mı diye
 

Ekli dosyalar

  • Stok_Takip.xlsm
    253.7 KB · Gösterim: 1
evet youtube ve bu siteden aldığım bilgiler dahilinde yapmaya çalışıyorum. belli bir yere geldi aslında sayenizde

Dim x As Long
For x = 2 To 1000000
If Sheets("StokHareket").Range("a" & x).Value = "" Then Exit For
Next
bunun yerine mi yazacağım
birde kontrol edip uygulama hakkında bilgi verirseniz sevinirim eksik var mı diye
Tamam gün içinde bakacqğım ve anladığım kadarıyla döngüde ısrar edeceksiniz.Döngülü çözeriz üstad sorun değil yeterki anlalılsın konu ve sanıyorum durum anlaşıldı.
 
Tamam gün içinde bakacqğım ve anladığım kadarıyla döngüde ısrar edeceksiniz.Döngülü çözeriz üstad sorun değil yeterki anlalılsın konu ve sanıyorum durum anlaşıldı.
dongu olması şart değil önemli olan stoksorgu sayfasındakiler Stok Hareket sayfasına doğru gelsin yeter
 
Hemen hemen kodları döngülü yaptığınız için ona göre ayarladım.Alttak, daha mantıklı.
satBosSorgu adında değişken tanıplayıp boş satır no yu ona aktardım.
Eğer bu değişken sonucu 2 ise mantıken veri olmayacağı için birşey yapmaz değilse mesela satBosSorgu 20 ise yani boş satır no 20 ise son dolu satır no 19 olur bir eksiği.Bunun için Range("a2:w" & y - 1).Select '-1 ekledim.Zaten kodları anlamaya çalışrsanız zor birşey değil anlaması.
Kaydetmede veriler olmadığı için ben deneyemedim sonucu yazarsınız.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
Hemen hemen kodları döngülü yaptığınız için ona göre ayarladım.Alttak, daha mantıklı.
satBosSorgu adında değişken tanıplayıp boş satır no yu ona aktardım.
Eğer bu değişken sonucu 2 ise mantıken veri olmayacağı için birşey yapmaz değilse mesela satBosSorgu 20 ise yani boş satır no 20 ise son dolu satır no 19 olur bir eksiği.Bunun için Range("a2:w" & y - 1).Select '-1 ekledim.Zaten kodları anlamaya çalışrsanız zor birşey değil anlaması.
Kaydetmede veriler olmadığı için ben deneyemedim sonucu yazarsınız.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
bu işlem tam oldu teşekkür ederim
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst