Soru 2 haftalık görev listesi oluşturmaya çalışıyorum fakat bir bürlü çalışmıyor

Katılım
16 Kasım 2019
Mesajlar
8
Excel Vers. ve Dili
office 365
Merhaba başta tüm forum üylerine iyi hafta sonları dilerim.
Benim sorunum 2 haftalık görev listesi oluşturmaya çalışıyorum 1 haftalık olarak yaptım fakat 2 haftalık olan bir türlü olmuyor sizden ricam yardımcı olabilirseniz çok sevinirim 52 haftalık görev listesi yapma ödevim var nerelerde hata yaptıgımı bulamıyorum. :(
Kod:
Sub doit()
Dim DataRange As Range ' Could also be Dim DataRange as Object
Dim row(1) As Long
Dim MaxRows As Long
Dim col As Integer
Dim MaxCols As Long
'Dim MyVar As Double
    Worksheets("Görev Listesi").Range("B6:D500").Select
    Selection.ClearContents
    MsgBox "Görev detayi sütununu kendiniz siliniz"
MaxRows = Worksheets("Haftalik Is Dagilimi").Range("B65536").End(xlUp).row
'MaxRows = Range(“B1”).CurrentRegion.Rows.Count
'MaxCols = Range(“A1”).CurrentRegion.Columns.Count
k = 6
For col = 1 To 7
For row(1) = 8 To 12
    Worksheets("Görev Listesi").Cells(k, 2).Value = Worksheets("Haftalik Is Dagilimi").Cells(7, col + 2).Value
    Worksheets("Görev Listesi").Cells(k, 3).Value = Worksheets("Haftalik Is Dagilimi").Cells(row(1), 2).Value
    Worksheets("Görev Listesi").Cells(k, 4).Value = Worksheets("Haftalik Is Dagilimi").Cells(row(1), col + 2).Value
    k = k + 1
Next row(1)
Next col
MaxRows2 = Worksheets("Görev Listesi").Range("B65536").End(xlUp).row
U = 6
Do
    ara = "D" & U
    If Worksheets("Görev Listesi").Range(ara) = "" Then
    rowS(U).Select
    Selection.Delete Shift:=xlToUp
    MaxRows2 = Worksheets("Görev Listesi").Range("B65536").End(xlUp).row
    U = U - 1
    End If
U = U + 1
Loop While U <= MaxRows2
End Sub
Exceli yüklemek istiyordum fakat resimleride excelide yüklemeyi beceremedim.
Yardımcı olursanız sevinirim
İyi Çalışmalar...
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
Örnek dosyanızı ve resimleri dosya yükle ve resim yükle arama kelimeleri ile google da aratıp ücretsiz paylaşım sitelerine yükleyip, buraya linkini ekleyiniz.
 
Katılım
16 Kasım 2019
Mesajlar
8
Excel Vers. ve Dili
office 365
Örnek dosyanızı ve resimleri dosya yükle ve resim yükle arama kelimeleri ile google da aratıp ücretsiz paylaşım sitelerine yükleyip, buraya linkini ekleyiniz.
Yardımın için teşekkür ederim exeli görünce daha rahat yapılır sayende yükleme yöntemini ögrendim.
Hayırlı Akşamlar...:)
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Kodunuzu aşağıdaki şekilde düzenleyiniz. Sadece kırmızı alanı ekledim. (İlgili alandaki mavi sayılara da dikkat ediniz.)
Rich (BB code):
Sub doit()
Dim DataRange As Range ' Could also be Dim DataRange as Object
Dim row(1) As Long
Dim MaxRows As Long
Dim col As Integer
Dim MaxCols As Long
'Dim MyVar As Double
    Worksheets("Görev Listesi").Range("B6:D500").Select
    Selection.ClearContents
    MsgBox "Görev detayi sütununu kendiniz siliniz"
MaxRows = Worksheets("Haftalik Is Dagilimi").Range("B65536").End(xlUp).row
'MaxRows = Range(“B1”).CurrentRegion.Rows.Count
'MaxCols = Range(“A1”).CurrentRegion.Columns.Count
k = 6
For col = 1 To 7
For row(1) = 8 To 12
    Worksheets("Görev Listesi").Cells(k, 2).Value = Worksheets("Haftalik Is Dagilimi").Cells(7, col + 2).Value
    Worksheets("Görev Listesi").Cells(k, 3).Value = Worksheets("Haftalik Is Dagilimi").Cells(row(1), 2).Value
    Worksheets("Görev Listesi").Cells(k, 4).Value = Worksheets("Haftalik Is Dagilimi").Cells(row(1), col + 2).Value
    k = k + 1
Next row(1)
Next col

For col = 1 To 7
For row(1) = 20 To 24
    Worksheets("Görev Listesi").Cells(k, 2).Value = Worksheets("Haftalik Is Dagilimi").Cells(19, col + 2).Value
    Worksheets("Görev Listesi").Cells(k, 3).Value = Worksheets("Haftalik Is Dagilimi").Cells(row(1), 2).Value
    Worksheets("Görev Listesi").Cells(k, 4).Value = Worksheets("Haftalik Is Dagilimi").Cells(row(1), col + 2).Value
    k = k + 1
Next row(1)
Next col

MaxRows2 = Worksheets("Görev Listesi").Range("B65536").End(xlUp).row
U = 6
Do
    ara = "D" & U
    If Worksheets("Görev Listesi").Range(ara) = "" Then
    Rows(U).Select
    Selection.Delete Shift:=xlToUp
    MaxRows2 = Worksheets("Görev Listesi").Range("B65536").End(xlUp).row
    U = U - 1
    End If
U = U + 1
Loop While U <= MaxRows2
End Sub


Alternatif olarak aşağıdaki kodu da kullanabilirsiniz.
İyi çalışmalar...
Rich (BB code):
Sub kod()
Set hid = Sheets("Haftalik Is Dagilimi")
Set gl = Sheets("Görev Listesi")
gl.Range("B6:D" & gl.Cells(Rows.Count, 2).End(3).row).ClearContents
hft1 = hid.Range("B7:I12")
hft2 = hid.Range("B19:I24")
hftlr = Array(hft1, hft2)
x = 5
For Each hft In hftlr
    For b = LBound(hft, 2) + 1 To UBound(hft, 2)
        For a = LBound(hft) + 1 To UBound(hft)
            If hft(a, b) <> "" Then
                x = x + 1
                gl.Cells(x, "B") = hft(1, b)
                gl.Cells(x, "C") = hft(a, 1)
                gl.Cells(x, "D") = hft(a, b)
            End If
        Next
    Next
Next
End Sub
 
Katılım
16 Kasım 2019
Mesajlar
8
Excel Vers. ve Dili
office 365
Hocam son olarak hft1 hft2 yazmısınız ya 52 hafta yapıcam toplamda sizin bana vermiş olduğunuz alternetif koda göre nasıl 52 haftaya çıkara bilirim.

Herşey için çok teşekkür ederim (ÖMER Hocam )
Hayırlı Akşamlar Dilerim...
 
Katılım
16 Kasım 2019
Mesajlar
8
Excel Vers. ve Dili
office 365
Kod:
Sub kod()
Set hid = Sheets("Haftalik Is Dagilimi")
Set gl = Sheets("Görev Listesi")
gl.Range("B6:D" & gl.Cells(rowS.Count, 2).End(3).row).ClearContents
hft1 = hid.Range("B5:I12")
hft2 = hid.Range("B17:I24")
hft3 = hid.Range("B29:I36")
hft4 = hid.Range("B41:I48")
hft5 = hid.Range("B53:I60")
hft6 = hid.Range("B65:I72")
hft7 = hid.Range("B77:I84")
hft8 = hid.Range("B89:I96")
hft9 = hid.Range("B101:I108")
hft10 = hid.Range("B113:I120")
hft11 = hid.Range("B125:I132")
hft12 = hid.Range("B137:I144")
hft13 = hid.Range("B149:I156")
hft14 = hid.Range("B161:I168")
hft15 = hid.Range("B173:I180")
hft16 = hid.Range("B185:I192")
hft17 = hid.Range("B197:I204")
hft18 = hid.Range("B209:I216")
hft19 = hid.Range("B221:I228")
hft20 = hid.Range("B233:I240")
hft21 = hid.Range("B245:I252")
hft22 = hid.Range("B257:I264")
hft23 = hid.Range("B269:I276")
hft24 = hid.Range("B281:I288")
hft25 = hid.Range("B293:I300")
hft26 = hid.Range("B305:I312")
hft27 = hid.Range("B317:I324")
hft28 = hid.Range("B329:I336")
hft29 = hid.Range("B341:I348")
hft30 = hid.Range("B353:I360")
hft31 = hid.Range("B365:I372")
hft32 = hid.Range("B377:I384")
hft33 = hid.Range("B389:I396")
hft34 = hid.Range("B401:I408")
hft35 = hid.Range("B413:I420")
hft36 = hid.Range("B425:I432")
hft37 = hid.Range("B437:I444")
hft38 = hid.Range("B449:I456")
hft39 = hid.Range("B461:I468")
hft40 = hid.Range("B473:I480")
hft41 = hid.Range("B485:I492")
hft42 = hid.Range("B497:I504")
hft43 = hid.Range("B509:I516")
hft44 = hid.Range("B521:I528")
hft45 = hid.Range("B533:I540")
hft46 = hid.Range("B545:I552")
hft47 = hid.Range("B557:I564")
hft48 = hid.Range("B569:I576")
hft49 = hid.Range("B581:I588")
hft50 = hid.Range("B593:I600")
hft51 = hid.Range("B605:I612")
hft52 = hid.Range("B617:I624")
hft53 = hid.Range("B629:I636")
hftlr = Array(hft1, hft2, hft3, hft4, hft5, hft6, hft7, hft8, hft9, hft10, hft11, hf12, hft13, hft14, hft15, hft16, hft17, hft18, hft19, hft20, hft21, hft22, hft23, hft24, hft25, hft26, hft27, hft28, hft29, hft30, hft31, hft32, hft33, hft34, hft35, hft36, hft37, hft38, hft39, hft40, hft41, hft42, hft43, hft44, hft45, hft46, hft47, hft48, hft49, hft50, hft51, hft52, hft53)
x = 5
For Each hft In hftlr
    For b = LBound(hft, 2) + 1 To UBound(hft, 2)
        For a = LBound(hft) + 1 To UBound(hft)
            If hft(a, b) <> "" Then
                x = x + 1
                gl.Cells(x, "B") = hft(1, b)
                gl.Cells(x, "C") = hft(a, 1)
                gl.Cells(x, "D") = hft(a, b)
            End If
        Next
    Next
Next
End Sub
Dediğiniz gibi yaptım fakat bu seferde bu satarıdan itibaren :

x = 5
For Each hft In hftlr
For b = LBound(hft, 2) + 1 To UBound(hft, 2)
For a = LBound(hft) + 1 To UBound(hft)
If hft(a, b) <> "" Then
x = x + 1
gl.Cells(x, "B") = hft(1, b)
gl.Cells(x, "C") = hft(a, 1)
gl.Cells(x, "D") = hft(a, b)

Type mismatch hatası veriyor run13 diye yardımcı olur musunuz nerde hatam var.
 
Katılım
16 Kasım 2019
Mesajlar
8
Excel Vers. ve Dili
office 365
Arkadaşlar ödevi Çarşambaya yetiştirmem gerekiyor hatayı çözemedim kafayı yemek üzereyim yardım edebilecek varsa bir el atabilir mi :(
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba başta anlamamıştım ama ayrıntılı bakınca gözüme çarptı , array tanımlamasının içinde hf12 diye bir satır var bunu hft12 diye düzeltirseniz belki çalışır.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Tekrar merhaba,
Bahsettiğiniz hata tür uyuşmazlığı; mesela Cells(x, "D") derken x değerinin satır belirten bir sayı olması gerekiyor. Sayı yerine metin olursa bu hatayı alırsınız.
Ayrıca paylaştığınız kodla örnek dosyanız da uyuşmuyor. Ya dosyanızı değiştirdiniz ya da kodları farklı yazdınız. Bundan dolayı da hata alıyor olabilirsiniz.
Hata aldığınız dosyayı da paylaşırsanız daha somut yardım alabilirsiniz...
 
Katılım
16 Kasım 2019
Mesajlar
8
Excel Vers. ve Dili
office 365
Emeği gecen bütün arkadaşlara ve hocalarıma teşekkür ederim yazım hatası yapmışım Emre Beyin dediği gibi hf12 olarak kaldığından type hatası veriyormuş herkezin güzel emeğine sağlık
Hayırlı Akşamlar Dilerim
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Rica ederim , iyi çalişmalar.
 
Üst