Satir Sİlme Kodu Hk.

Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
Aşağıdaki makro ile her zaman 6 satırdaki verileri bir veritabanına gönderiyorum ancak yıl sonunda dosya verilerle dolduğundan geç açılıyor .6 satırdan bazen sadece ilk satırda bazen bazen bazende tamamı dolu oluyor.satır boş olduğunda veya 0 olduğunda o veriyi seçmesede sadece dolu olan satırları gönderebilirmiyiz.?iyi çalışmalar diliyorum.

Private Sub CommandButton4_Click()
'
' gönder1 Makro
' '
Range("DL27").Select
ActiveWindow.LargeScroll Down:=1
Range("DL69").Select
ActiveWindow.LargeScroll Down:=1
Range("DL105").Select
ActiveWindow.LargeScroll Down:=1
Range("DL140").Select
ActiveWindow.LargeScroll Down:=1
Range("DL175").Select
ActiveWindow.SmallScroll ToRight:=-8
Range("DJ157:GE162").Select
Selection.Copy
Workbooks.Open Filename:="C:\VERİTABANLARI\VERİTABANI1.xls"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.EntireRow.Insert
Range("A6").Select
ActiveWorkbook.Save
ActiveWindow.Close
Range("DJ157").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("CL157").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("BV157").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("BE157").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("A157").Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Range("B11:E12").Select

End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Her iki dosyanızdanda bir kaç örnek içerecek şekilde eklermisiniz.
 
Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
selam

Sayin Leventm Örnek Dosyalari GÖnderİyorum.İyİ ÇaliŞmalar Dİlİyorum.MİKTAR KISMI BOŞ İSE GÖNDERİRKEN o satırı eklemeyecek.veya üretim tarihi kısmı boş ise diyelim,o satır veritabanında silinmiş olmalı.
 
Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
selam

sayın leventm cevabınızı bekliyorum.iyi çalışmalar dilerim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

Kod:
Sub GÖNDER()
Application.ScreenUpdating = False
[h18:k23].ClearContents
For a = 6 To [a65536].End(3).Row
If Cells(a, "a") = "" Or Cells(a, "c") = "" Then GoTo 10
c = c + 1
Cells(c + 17, "h") = [a4]
Cells(c + 17, "I") = Cells(a, "a")
Cells(c + 17, "j") = Cells(a, "b")
Cells(c + 17, "k") = Cells(a, "c")
10 Next
[h18:k23].Copy
Workbooks.Open Filename:="C:\Documents and Settings\Administrator\Desktop\VERİTABANI.xls"
sat = WorksheetFunction.CountA([a3:a65536]) + 3
Cells(sat, "a").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ActiveWindow.Close True
End Sub
 
Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
TŞK

Sayin Leventm Burdakİ C+17 Ve Goto 10 Demekle Ne Yapiyoruz Kisaca İzah Edersenİz Memnun Olurum.yardimlariniz İÇİnde Ayrica TŞk Edİyorum.
 
Katılım
17 Haziran 2006
Mesajlar
218
Excel Vers. ve Dili
excel 2000 Türkçe
&
excel 2003 Türkçe
ben dilim döndüğü kadar anlatmaya çalışıyım.

c değeri ile bir sayaç oluşturulmuş ve hucrenin adresinin bu sayacın değerinin 17 fazlası ile " " arasındaki harf olarak belirlemiş.

go to 10 ise verilen koşul doğru değilse satır başında 10 yazan yere gitmesi ve işleme oradan devam etmesi anlamına geliyor.


umarım açıklamam yeterli olmuştur. yanlış bir ifade kullanmışsam veya hatalı bir şeyler yazmışsam lütfen belirtin bende öğrenmiş olayım. teşekkürler
 
S

Skorpiyon

Misafir
Sayın MUTLUXXX,

Sayın Levent Hocam şu an için online olmadığından, hoşgörüsüne binaen, ben anladığım kadarı ile tarif etmeye çalışayım.


[h18:k23].ClearContents
For a = 6 To [a65536].End(3).Row
If Cells(a, "a") = "" Or Cells(a, "c") = "" Then GoTo 10
c = c + 1
Cells(c + 17, "h") = [a4]
Cells(c + 17, "I") = Cells(a, "a")
Cells(c + 17, "j") = Cells(a, "b")
Cells(c + 17, "k") = Cells(a, "c")
10 Next

[h18:k23].Copy

Bu komutlarda veriler diğer dosyaya gönderilmeden önce H18:K23 arasına yeniden aldırılıyor. Burada Goto10 derken bir koşul var. Eğer ilk başta A6 ve C6 hücrelerindeki değerler boş ise (sonrasında A7, C7; A8, C8 diye devam eder) boş olan değerleri almadan direkt olarak '10 Next' yazan satıra git demek istiyor. Kısaca verileri H18:K23 arasına aldırırken boş olan kısmı aldırmıyor.

c+17 ile anlatılmak istenilen şey ise, yukarıda Goto10 yazan satırda hani A6 ve C6 boş ise hiçbirşey yapmadan aşağıya git demiştik, bu sefer boş değilse yapılacak komutlardır.

Nedir bu ? Örneğin; A6 boş değilse c'nin ilk değerini 1 yap diyor c=c+1 satırı ile. Sonraki satırda denilen ise; 1+17,h tır. Yani H18 hücresi. Bu hücre değerini A4 hücresinden alsın diyor. Sonrasında ;
cells(c+17,"I")=Cells(a,"a") ile anlatılan ise; I18 hücresi değerini A6 hücresinden alsın gibi.
 
Katılım
17 Haziran 2006
Mesajlar
218
Excel Vers. ve Dili
excel 2000 Türkçe
&
excel 2003 Türkçe
Sayın Sertkaya

açıklamanız için teşekkür ederim. kodu doğru anlamış olduğumu anlamakla ifademin ne kadar yetersiz olduğunuda anlamış oldum. tekrardan teşekkür ediyorum.
 
S

Skorpiyon

Misafir
Rica ederim Sayın karadami.
Hem kodlar Levent Hocam'a ait. Biz ancak yorum yapıyoruz. :)
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn karadamı ve Sn Sertkaya'ya

Açıklamalarız nedeniyle teşekkür ederim. Bu tip durumlarda her zaman istediğiniz şekilde yorum yapabilirsiniz bundan onur duyarım.
 
Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
arkadaşlar

açıklamalarınız için çok teşekkür ediyorum.Sayenizde bende yavaş yavaş çözmeye başlıyorum.Yanlız bir ricam olacak sizden aslında levent hocamın verdiği kodlar çalışıyor ancak asıl raporda yani a,b ve c sütunlardaki verileri kopyalayarak h,ı,j ve k sütunlarına alıyoruz fakat a,b ve c asıl raporda birleştirilmiş hücre olduğundan kod çalışmıyor.sadece koşul olarak her seferinde h,ı,j,k sütunlarını kullansak nasıl olsa ben bunları a,b,c den eşittir ile alıyorum.örneğin h18,ı18,j18 ve k18 i koşulsuz alsın çünkü her seferinde buraya ilk veri giriliyor boş olma ihtimali yok.her seferinde bir alt satıra baksın alt satır boş ise tek satırı kopyalasın ve komut sonlansın.ilk iki satır dolu ise bir alttakine gitsin yani nerede alt satırı boş görürse orda komutu sonlandırsın.çünkü raporda boş geçme ihtimali yok..tabi 0 değerinide boş olarak almalı.sadece 6 satıra veri giriliyor.
 
Son düzenleme:
Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
sayın leventm

sizden son bir çözüm bekliyorum.saygılar.
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
bELKİ VARDIR BİLMİYORUM AMA BU DA GÖSTER GİZLE KODU

Private Sub CommandButton1_Click()
Columns("C:D").Hidden = Not Columns("C:D").Hidden
End Sub

Bu kod "Commmand Button" için ben kaydurma çubuğu ekledim ve bunu "Columns("C:D").Hidden = Not Columns("C:D").Hidden" oraya yazdım kaydırma çubuğuna bastığımda C ve D sütunları gizleniyor işlemi tekrarladığımda tekrar görünüyor...
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
şu gülen yüzler ikinokta ve D aslında ama...
 
Üst