Hücredeki değer kadar eklenen satıra kopyalama

Katılım
20 Temmuz 2007
Mesajlar
4
Excel Vers. ve Dili
ofisxp türkçe
Bu başlığı daha öncede açmıştım ama yanıt bulamadım. Eğer ilgilenen olursa çok sevinirim. 46 yaşında emekli tornacıyım. Bu yaştan sonra, çocuklarıma da yararı olacağından emin olduğum için makro öğrenmeye uğraşıyorum, gerçekten excel bir çok programa göre üstün program ama benim tabanım olmadığı için bazı konularda zorlanıyorum. Soruma gelince; Hücredeki değer kadar satır eklenecek ve eklenen satırlardaki hücrelere üstündekiler kopyalanıp ekli excel dosyasında belirtiğim işlemi yapacak. Satır eklemeyi formlardaki örneklere bakar yaptım ama geri kalan işlemleri yaptıramıyorum.
Diğer işlemleri excelde formüllerle ve elle yaptırabiliyorum ama bunu makro ile yaptırmak istiyorum. Teşekkür ederim.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,680
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki şekilde deneyin.
Kod:
Private Sub aktar()
    Dim m_saat               As Integer
    Dim m_dakika             As Integer
    Dim jj, jj2, sayac       As Integer

    sayac = 2
    For jj = 2 To 5 'Sayfa1.[a65536].end(3).row
        m_saat = CInt(Sayfa1.Cells(jj, "C"))
        m_dakika = Minute(Sayfa1.Cells(jj, "D"))
        For jj2 = 0 To CInt(Sayfa1.Cells(jj, "F")) - 1
            Sayfa2.Cells(sayac, "A") = Sayfa1.Cells(jj, "A")
            Sayfa2.Cells(sayac, "B") = Sayfa1.Cells(jj, "B")
            Sayfa2.Cells(sayac, "C") = m_saat
            Sayfa2.Cells(sayac, "D") = m_dakika
            Sayfa2.Cells(sayac, "E") = Sayfa1.Cells(jj, "E")
            Sayfa2.Cells(sayac, "F") = Sayfa1.Cells(jj, "F")
            sayac = sayac + 1
            ZamanAyarla m_dakika, m_saat
        Next jj2
    Next jj
End Sub

Private Sub ZamanAyarla(dak As Integer, saat As Integer)
    dak = dak + 15
    If dak > 60 Then
        dak = 15
        saat = saat + 1
    End If
End Sub
 
Üst