• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

isaretli satırlardaki bos hucrelere belırlı bır tarih yazdırmak

Katılım
4 Ekim 2007
Mesajlar
632
Excel Vers. ve Dili
OFFİCE 365
Arkadaslar merhaba. Yapmak ıstedım sey baslıktada yazdıgım gıbı bellı satırlar secıp o satırların yanlarındakı bos hucrelere belırledıgım tarıhı yazdırmak. ornek dosya ekledım daha anlasılır olması adına. umarım yeterınce acıklayabılmısımdır. Tum yardımlara cok tesekkur edıyorum sımdıden.
 

Ekli dosyalar

Merhaba.

Aşağıdaki şekilde işlem yaparak istediğiniz sonuca ulaşabilirsiniz.
-- Alt taraftan ilgili sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin.
-- Açılan VBA ekranında, sağ taraftaki boş alana aşağıdaki kod'u yapıştırın.
-- F5 tuşuna basarak veya sayfaya ekleyeceğiniz bir düğme/şekil ile ilgili kod'u ilişkilendirip bu düğme/şekle tıklayarak kod'u çalıştırın.
-- D:H sütunlarında boş alan olmadığında uyarı almayıp, bir sonraki satırdan işleme devam etmek isterseniz mavi renklendirdiğim satırı silebilirsiniz.
.
Kod:
[FONT="Arial Narrow"]Sub tarih_yaz()
For satır = 4 To [B65536].End(3).Row
    If Cells(satır, 2) <> "X" Then GoTo 10
    If Cells(satır, 2) = "X" And WorksheetFunction.CountBlank(Range(Cells(satır, 4), Cells(satır, 8))) = 0 Then
        [COLOR="Blue"]MsgBox "B" & satır & "  hücresinde X var ancak bu satırda tarih yazılacak boş alan yok..."[/COLOR]
        GoTo 10: End If
    For sütun = 4 To 8
        If Cells(satır, sütun) = "" Then
            Cells(satır, sütun) = [E1]: Exit For
        End If: Next
10: Next: MsgBox "İŞLEM TAMAMLANDI..."
End Sub[/FONT]
 
Cok tesekkur ederım Ömer bey ısımı cok kolaylastırdınız sagolun.
 
Alternatif olarak aşağıdaki kodları vereyim:

Kod:
Sub tarih()
For i = 4 To Cells(Rows.Count, "C").End(3).Row
    For j = 4 To Columns.Count
        If Cells(i, "B") = "X" Then
            If Cells(i, j) = "" Then
                Cells(i, j) = [E1]
                GoTo 10
            End If
        End If
    Next
10:
Next
End Sub
 
Merhaba,

Seçilen hücrelere deyince ben de bir alternatif sunayım dedim.
Önce Seçim yapılacak sonra aşağıdaki kodlar çalışacak.

Kod:
Sub SecilenHucrelereYazm()

    Dim Hcr As Range
    
    For Each Hcr In Selection
        Hcr.End(xlToRight).Offset(0, 1) = Range("E1")
    Next Hcr
    
End Sub
 
Estağfurullah, İzmir'e selam olsun.

Ömer bey kucuk bır degısım rıca edebılırmıyım. tarıhı yazarken "gg.aa.yy" seklınde yazdırabılecegımız sekılde degıstırebılırmıyız. ıstedıgım tarıh seklını bıcımden degıstırsemde olmuyor sanırım makronun ıcınden ayarlamak gerekıyor. Format([D4], "dd.mm.yy") olarak degıstırdım makroyu fakat bunuda metın formatında tarıh olarak goruyor.
 
Hücreyi tarih biçiminde biçimlendirin.:cool:
Kod:
cdate(range("D4").Value)
 
Geri
Üst