1 sayfadan 1. sayfa

Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 30 Oca 2020 12:53
Gold_Savt
Merhaba Arkadaşlar;
(Sadece excel verisi olarak) indirdiğim excel çalışma sayfasından, Sheet1'den Sheet2 ye dolu hücreleri aktarmak istiyorum.
Süz aktar işe yaramıyor, çünkü istenilen bilgilier "ritmik" aralıklarla verilmiş.
Örnek çalışma sayfası ilişiktedir.
Çözüm mümkün mü acaba?

Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 30 Oca 2020 13:50
OmerFaruk72
Kod: Tümünü seç
Private Sub CommandButton1_Click()
Dim sh As Worksheet
Dim k, i As Integer
    Set sh = Worksheets("Sheet1")
    k = 5
    For i = 1 To 31 Step 3
        k = k + 1
        Cells(k, 2) = sh.Cells(i, 1)
        Cells(k, 3) = sh.Cells(i, 2)
        Cells(k, 4) = sh.Cells(i + 1, 4)
        Cells(k, 5) = sh.Cells(i, 9)
        Cells(k, 6) = sh.Cells(i + 1, 9)
        Cells(k, 7) = sh.Cells(i, 12)
    Next i
End Sub

Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 30 Oca 2020 15:16
Gold_Savt
Bir gündür uğraşıyorum. Siz iki satır yazıyorsunuz... Hop, mucize oluyor. Öğrenmem lazım benim bu kodları.
Eliniz, emeğiniz dert görmesin hocam.

Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 06 Şub 2020 11:26
Gold_Savt
aktarım yaparken hücre değeri "0" olanları aktarmaması için aşağıdaki koda nasıl bir ekleme yapmamız lazım.
Aktarım başarılı şekilde gerçekleşiyor ancak "sıfır" rakamını aktardığı zaman işler bozuluyor malesef.
Uzman eli değmesi lazım sanırım.

Kod: Tümünü seç
Private Sub CommandButton1_Click()
Dim sh As Worksheet
Dim k, i As Integer
    Set sh = Worksheets("Sheet1")
    k = 5
    For i = 1 To 31 Step 3
        k = k + 1
        Cells(k, 2) = sh.Cells(i, 1)
        Cells(k, 3) = sh.Cells(i, 2)
        Cells(k, 4) = sh.Cells(i + 1, 4)
        Cells(k, 5) = sh.Cells(i, 9)
        Cells(k, 6) = sh.Cells(i + 1, 9)
        Cells(k, 7) = sh.Cells(i, 12)
    Next i
End Sub

Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 07 Şub 2020 09:58
Miraç CAN
İlgili satırların başına If Not Cells(k, 1) Like 0 Then ekleyin.

Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 11 Şub 2020 16:50
drykcktl
merhabalar yukarıdaki kodu bir excel dosyasındaki farklı sayfaları aktar olarak nasıl uyarlayabilirim?

Cevap: Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 12 Şub 2020 08:26
Miraç CAN
drykcktl yazdı:merhabalar yukarıdaki kodu bir excel dosyasındaki farklı sayfaları aktar olarak nasıl uyarlayabilirim?

İlgili yerlerin başına sayfa isimlerini ya da index'lerini yazarak yapabilirsiniz.
Örnekte yer aldığı gibi, aktif yani bulunduğunuz sayfanın ismini belirtmenize gerek yoktur, belirtseniz de bir şey olmaz, fazlalık, boşuna kalabalık yapar sadece.
Set sh = Worksheets("Sheet1") sh değişkenine sayfa atar,
sh.Cells(1, 1)=Cells(1, 2) sh sayfası (Sheet1 isimli sayfa) A1 hücresine (Cells(1, 1)) Aktif sayfa B1 hücresinde ki veriyi gönderir
Cells(1, 1)=sh.Cells(1, 2) aktif sayfa A1 hücresine sh sayfası (Sheet1 isimli sayfa)B1 hücresinde ki veriyi gönderir
Worksheets("Sheet2").Cells(1, 1)=Worksheets("Sheet1").Cells(1, 2) Sheet2 isimli sayfanın A1 hücresine Sheet1 isimli sayfanın B1 hücresinde ki veriyi gönderir.

sh.Range("A1") , Worksheets("Sheet1").Range("A1"), sh.Cells(1, 1) ve Worksheets("Sheet1").Cells(1, 1)aynı şeyi ifade eder, kullanım kolaylığına uygun olarak tercih edilir.
Ya da Cells(1, 1) ve Range("A1") gibi.

Cevap: Cevap: Cevap: Belli aralıktaki sıralı hücreleri aktar

İletiTarih: 12 Şub 2020 12:01
drykcktl
Miraç CAN yazdı:
drykcktl yazdı:merhabalar yukarıdaki kodu bir excel dosyasındaki farklı sayfaları aktar olarak nasıl uyarlayabilirim?

İlgili yerlerin başına sayfa isimlerini ya da index'lerini yazarak yapabilirsiniz.
Örnekte yer aldığı gibi, aktif yani bulunduğunuz sayfanın ismini belirtmenize gerek yoktur, belirtseniz de bir şey olmaz, fazlalık, boşuna kalabalık yapar sadece.
Set sh = Worksheets("Sheet1") sh değişkenine sayfa atar,
sh.Cells(1, 1)=Cells(1, 2) sh sayfası (Sheet1 isimli sayfa) A1 hücresine (Cells(1, 1)) Aktif sayfa B1 hücresinde ki veriyi gönderir
Cells(1, 1)=sh.Cells(1, 2) aktif sayfa A1 hücresine sh sayfası (Sheet1 isimli sayfa)B1 hücresinde ki veriyi gönderir
Worksheets("Sheet2").Cells(1, 1)=Worksheets("Sheet1").Cells(1, 2) Sheet2 isimli sayfanın A1 hücresine Sheet1 isimli sayfanın B1 hücresinde ki veriyi gönderir.

sh.Range("A1") , Worksheets("Sheet1").Range("A1"), sh.Cells(1, 1) ve Worksheets("Sheet1").Cells(1, 1)aynı şeyi ifade eder, kullanım kolaylığına uygun olarak tercih edilir.
Ya da Cells(1, 1) ve Range("A1") gibi.




çok tesekkür ederim Miraç Bey aşagıdaki linkte açtığım bir konum var kodu butona ekleyemedim orada da boş satırları aktarmayacak şekilde bu kodu uyarlayabilirmiyiz

viewtopic.php?f=4&t=34850