Araç Servis Takip Programı (AST-v.2) foruma eklenmiştir. 
http://www.excelce.net/forum/index.php?topic=1656.0

Gönderen Konu: Sütuna yıl yaz  (Okunma sayısı 14737 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı kelkitli

  • Excelce Onbaşı
  • **
  • İleti: 52
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Necmettin TOK
  • İl / İlçe: Ankara Yenimahalle
  • Mesleğiniz: Abonman Başgörevlisi
Sütuna yıl yaz
« : 17 Şubat 2011, 05:49:05 »
Selamlar,
Değerli Dostlar, aşağıda yazdığım kodu yapamadım.
Kod: [Seç]
Sub yılyaz1()
Range("u7:u71").ClearContents
For i = 6 To 75
If DateSerial(Year((c3) + i), Month(c3), Day(c3)) < Date Then Cells(i, "u") = Year(Range("c3"+i))
Next
End Sub
Yani şu:
C3 hücresinde işe giriş tarihi yazılı.Bu tarihe 1 er yıl ekleyip döndürdüğümüzde bu günkü tarihi aşınca döngü durmalı. Döngü aralığında da u sütununa  yılları yazmalı. 1986,87,88,89 gibi.

Çevrimdışı kelkitli

  • Excelce Onbaşı
  • **
  • İleti: 52
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Necmettin TOK
  • İl / İlçe: Ankara Yenimahalle
  • Mesleğiniz: Abonman Başgörevlisi
Ynt: Sütuna yıl yaz
« Yanıtla #1 : 17 Şubat 2011, 06:47:28 »
Şu şekilde denedim ama bir yerlerde bir aksaklık var.
Kod: [Seç]
Sub yılyaz1()
Range("u7:u71").ClearContents
    Dim IlkTarih As Date, SonTarih As Date
    Dim Yil As String
    IlkTarih = DateSerial(Year(c3), Month(c3), Day(c3))
    SonTarih = DateSerial(Year(Date), Month(Date), Day(Date))
    For i = IlkTarih To SonTarih
    For j = 6 To 30
        Yil = Format(IlkTarih, "yyyy")
        'IlkTarih = DateSerial(Year(IlkTarih) + 1, Month(IlkTarih), Day(IlkTarih))
    If Year(IlkTarih) > Year(SonTarih) Then Cells(j, "u") = Yil + 1
    Next i
    Next j
End Sub

Çevrimdışı Rami

  • Excelce Onbaşı
  • **
  • İleti: 64
  • Puan +1/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Kamil
  • İl / İlçe: Sivas
  • Mesleğiniz: İnşaat
Ynt: Sütuna yıl yaz
« Yanıtla #2 : 17 Şubat 2011, 09:53:13 »

C3 hücresinde işe giriş tarihi yazılı.Bu tarihe 1 er yıl ekleyip döndürdüğümüzde bu günkü tarihi aşınca döngü durmalı. Döngü aralığında da u sütununa  yılları yazmalı. 1986,87,88,89 gibi.

Şöyle olabilir:

Kod: [Seç]

Sub yılyaz1()
Range("u7:u71").ClearContents
For i = 6 To 75
s = s + 1
If DateSerial(Year(Range("c3")) + s, Month(Range("c3")), Day(Range("c3"))) < Date Then
Cells(i, "u").NumberFormat = "0"
Cells(i, "u") = Year(Range("c3")) + s
End If
Next
End Sub
« Son Düzenleme: 17 Şubat 2011, 10:00:12 Gönderen: Rami »

Çevrimdışı kelkitli

  • Excelce Onbaşı
  • **
  • İleti: 52
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Necmettin TOK
  • İl / İlçe: Ankara Yenimahalle
  • Mesleğiniz: Abonman Başgörevlisi
Ynt: Sütuna yıl yaz
« Yanıtla #3 : 17 Şubat 2011, 11:48:51 »
Sayın Rami, Teşekkürler.
Hakikaten çok güzel çözümler üretiyorsunuz.
Şaştım doğrusu. Yani kod yazmak bir yana, anlatılanları bu kadar eksiksiz yorumlamak gerçekten güzel.

Çevrimdışı Rami

  • Excelce Onbaşı
  • **
  • İleti: 64
  • Puan +1/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Kamil
  • İl / İlçe: Sivas
  • Mesleğiniz: İnşaat
Ynt: Sütuna yıl yaz
« Yanıtla #4 : 17 Şubat 2011, 20:45:50 »
Sayın Rami, Teşekkürler.
Rica ederim. Sağolun.

Çevrimdışı 1Al2Ver

  • Excelce Destek Ekibi
  • ****
  • İleti: 190
  • Puan +3/-0
  • Cinsiyet: Bay
  • Almasını bilmek kadar, vermesini de bilmek gerek.
  • İşletim Sisteminiz: Windows 11 - 64 Bit
  • Mesleğiniz: Gıda Tespit ve Planlama Uzmanı
  • Office Versiyonunuz: Microsoft Office 365 ProPlus
Ynt: Sütuna yıl yaz
« Yanıtla #5 : 05 Mart 2011, 11:09:01 »
Merhaba,

Cevaptan ben de faydalandım,

Sayın kelkitli ve sayın rami'ye teşekkür ederim.

Saygılarımla.
Yaşamda iyi bir iz bırakın ki, sizden sonra da ailenizin başı dik dursun.