aktarma kodunda aralık tanımlaması

Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
İyi akşamlar Sn dostlar.Yine bir konuda yardımınıza ihtiyacım var.Forumdan almış olduğum aktarma makrosunda bir yerde takılıp kaldım.

Private Sub CommandButton1_Click()


Dim ay1, AY2, i, J
i = 6
ay1 = Cells(2, 13).Value
Sheets(ay1).Range("A6:S67").ClearContents
Select Case ay1
Case "OCAK": AY2 = 1
Case "ŞUBAT": AY2 = 2
Case "MART": AY2 = 3
Case "NİSAN": AY2 = 4
Case "MAYIS": AY2 = 5
Case "HAZİRAN": AY2 = 6
Case "TEMMUZ": AY2 = 7
Case "AĞUSTOS": AY2 = 8
Case "EYLÜL": AY2 = 9
Case "EKİM": AY2 = 10
Case "KASIM": AY2 = 11
Case "ARALIK": AY2 = 12
End Select
Do While IsDate(Cells(i, 20))
If Month(Cells(i, 20)) = AY2 Then
Sheets("DOĞUM DEFTERİ").Range("B" & i & ":S" & i).Copy
J = 6
Do While Sheets(ay1).Cells(J, 4) <> "" And Sheets(ay1).Cells(J, 5) <> ""
J = J + 1
Loop
For s = 6 To J
Sheets(ay1).Cells(s, 1) = s - 5
Next
Sheets(ay1).Range("B" & J & ":S" & J).PasteSpecial
End If
i = i + 1
Loop
Cells(6, 21).ClearContents


End Sub



bu kod önceden kullandığım bie sayfada A ve S sütunları arası verilerimi aylara göre açılmış sayfalara aktarıyor.Şu an başka bir çalışmada bunu kullanmak için uyarladım.uyarladım derken sadece aralıkları değiştirdim.Yani yeni sayfamda C ile AM sütunları arası veriyi aktaracak şekilde düzenledim ve bir ayrıntı işimi sıkıntıya soktu.Bu kodda aktarılacak aralık mevcut olmasına rağmen,kod aralığa bakmadan A ve B satır ve sütunlarındaki verileri yada bilgileride aktarıyor.bunun bir çözümü varsa yardımınıza minnettar olurum.saygılarımla teşekkürler
(dosya büyük olduğu için yükleyemedim yine deniyorum)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
C:AM aralıığı için aşağıdaki gibi olması lazım:coll:
Sheets("DOĞUM DEFTERİ").Range("C" & i & ":AM" & i).Copy
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
sn evren gizlen teşekkür ederim sanırım bu kodda sizin çalışmanızdı yanlış hatırlamıyorsam.son çalışmamda aralık zaten belirttiğiniz gibi ancak aralık dışındaki verileride kopyalıyor.en son kullandığım kod aşağıdadır

Private Sub CommandButton1_Click()


Dim ay1, AY2, i, J
i = 5
ay1 = Cells(5, 1).Value
Sheets(ay1).Range("C5:AM1000").ClearContents
Select Case ay1
Case "OCAK": AY2 = 1
Case "ŞUBAT": AY2 = 2
Case "MART": AY2 = 3
Case "NİSAN": AY2 = 4
Case "MAYIS": AY2 = 5
Case "HAZİRAN": AY2 = 6
Case "TEMMUZ": AY2 = 7
Case "AĞUSTOS": AY2 = 8
Case "EYLÜL": AY2 = 9
Case "EKİM": AY2 = 10
Case "KASIM": AY2 = 11
Case "ARALIK": AY2 = 12
End Select
Do While IsDate(Cells(i, 6))
If Month(Cells(i, 6)) = AY2 Then
Sheets("GİRİŞ").Range("C" & i & ":AM" & i).Copy
J = 5
Do While Sheets(ay1).Cells(J, 6) <> "" And Sheets(ay1).Cells(J, 13) <> ""
J = J + 1
Loop
For s = 5 To J
Sheets(ay1).Cells(s, 1) = s - 5
Next
Sheets(ay1).Range("C" & J & ":AM" & J).PasteSpecial
End If
i = i + 1
Loop
Cells(5, 37).ClearContents
End Sub


ekli dosyada A sütununda Ay seçimi var.onuda kopyalıyor.AQ2 hücresinde koşullu biçimlendirmem için kullandığım bir hücre tanımlaması var (HEPSİNİ) şeklinde,mükerrer isimleri belirliyor.onuda kopyalıyor.bunu çözemedim.(İnternet kaynaklı olarak cevaplarım gecikiyor)Saygılarımla
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
Sn Evren bey sorun sanırım su kısımda;

J = 5
Do While Sheets(ay1).Cells(J, 6) <> "" And Sheets(ay1).Cells(J, 13) <> ""
J = J + 1
Loop
For s = 5 To J
Sheets(ay1).Cells(s, 1) = s - 5
Next


Burada j=5 ve j=j+1 benim çalışmamda sıkıntılı kısım.Ben j=5 ile başlayıp next dahil kısmı sildim ve sorun bir parça çözüldü başka sorun çıktı.Bu bölüm var iken verileri aktardığında A5 hücresinden itibaren aşağıya doğru 0 dan başlayarak sayı yazıyordu(aktardığı sayfaya).ben bu kısmı kaldırdım artık sayı yazmıyor.Ama o aya ait olmayan veriyi aktarma yaparken çıkartıp ilgili sayfadaki o satırı boş bırakıyor.Yani veriyi ayıklıyor ama baştan sıralayarak aktarmıyor.Bunu çözme imkanımız varmı acaba teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sn Evren bey sorun sanırım su kısımda;

J = 5
Do While Sheets(ay1).Cells(J, 6) <> "" And Sheets(ay1).Cells(J, 13) <> ""
J = J + 1
Loop
For s = 5 To J
Sheets(ay1).Cells(s, 1) = s - 5
Next


Burada j=5 ve j=j+1 benim çalışmamda sıkıntılı kısım.Ben j=5 ile başlayıp next dahil kısmı sildim ve sorun bir parça çözüldü başka sorun çıktı.Bu bölüm var iken verileri aktardığında A5 hücresinden itibaren aşağıya doğru 0 dan başlayarak sayı yazıyordu(aktardığı sayfaya).ben bu kısmı kaldırdım artık sayı yazmıyor.Ama o aya ait olmayan veriyi aktarma yaparken çıkartıp ilgili sayfadaki o satırı boş bırakıyor.Yani veriyi ayıklıyor ama baştan sıralayarak aktarmıyor.Bunu çözme imkanımız varmı acaba teşekkürler
BU konuyu anlamadım.
Örnek bir dosya ekleyip üzerinde açıklamsınızyazarmısınız?:cool:
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
aktarma

sn Evren hocam,ben anladığım için değilde deneme yanılma yolu ile aldığım sonucu yukarıda yazmıştım.bir anlamı var olup olmadığını bende bilmiyorum.Ancak basitçe bir çalışma ekledim.bakarsanız sevinirim saygılarımla
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
sn Evren hocam,ben anladığım için değilde deneme yanılma yolu ile aldığım sonucu yukarıda yazmıştım.bir anlamı var olup olmadığını bende bilmiyorum.Ancak basitçe bir çalışma ekledim.bakarsanız sevinirim saygılarımla
Dosyada neler olduğunu yazmışsınız ama ne olmasını istediğiniz yazmamışsınız?:D
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
Sn hocam,aktarma sonrasında,aktarılan sayfada A stunundaki rakamların nereden ortaya çıktığını anlamadım ve tabiki olmasını istemiyorum.ben C ile AM arasını ay seçeneğine göre ilgili aya aktarmasını istiyorum ve aktarıyor.ama aktarılan sayfada A stununa alt alta sıfırdan başlayarak sayı veriyor.bunun olmasını istemiyorum.ve yine anladığım kadarıyla kod aktarırken aynen kopyalıyor(şekillendirme,veri doğrulama,kenarlıklar vb.mümkün birşeyse sadece içeriği kopyalamasını istiyorum.saygılar teşekkürler
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
hocam tam istediğim gibi elinize sağlık ancak ben bunu başka bir sayfada ve aralıkta kullanacağım.dolayısı ile nasıl düzenlerim bilmiyorum.sanırım ek bir makro yazmışsınız .
Sub Makro1()
'
' Makro1 Makro
' Makro aaa tarafından 06.12.2008 tarihinde kaydedildi.
'

'
Range("D5:F7").Select
Selection.Copy
Range("E18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
bunu açıklama imkanınız varsa sevinirim.teşekkürler
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
hocam tamam sanırım bu kod ilgili değil mükemmel olmuş sağolasın eline sağlık saygılar
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
hocam tam istediğim gibi elinize sağlık ancak ben bunu başka bir sayfada ve aralıkta kullanacağım.dolayısı ile nasıl düzenlerim bilmiyorum.sanırım ek bir makro yazmışsınız .
Sub Makro1()
'
' Makro1 Makro
' Makro aaa tarafından 06.12.2008 tarihinde kaydedildi.
'

'
Range("D5:F7").Select
Selection.Copy
Range("E18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
bunu açıklama imkanınız varsa sevinirim.teşekkürler
Yalnızca değerlerin yapıştırılacağı nasıl olacak diye makro kaydet metodunu kullandım.Oda bana o makroyu hazırladı.
Oradanda bana lazım olan kodu alıp sizin makronuza yapıştırdım.
O makroyu silebilirsiniz.:cool:
 
Üst