• DİKKAT

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

Makro Kodu ile Şarta Göre kolonların Zemin Rengini Değiştirme

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
777
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Merhaba arkadaşlar.

Set sh3 = Sheets("tablo")
For i2 = 4 To 41
If sh3.Cells(2, i2).Value = 6 Or sh3.Cells(2, i2).Value = 7 Then
SonSatir11 = sh3.Cells(sh3.Rows.Count, "Ar").End(xlUp).Row
sh3.Cells(i2 + 1, SonSatir11).BackColor = &H8000000F
End If
Next i2

Yukarıdaki kod ile "tablo" sayfasının 2. satır, D sütunundan itibaren AO sütununa kadar haftanın günleri var. 1,2,3,4,5,6,7,1,2,3,4,5,6,7... diye 6 ve 7 rakamlarının geldiği sütunları 5. satırdan itibaren en son dolu satıra kadar (AR sütunu baz alınacak en son dolu satır olarak) zemin rengini gri yapmak istiyorum.
Run-time error "438": hatası veriyor. Yardımcı olabilirseniz sevinirim.
 
Merhaba.

Kod:
sh3.Cells(i2 + 1, SonSatir11).BackColor = &H8000000F
satırını aşağıdaki gibi değiştirin
Kod:
sh3.Cells(SonSatir11, i2 + 1).BackColor = &H8000000F
 
Merhaba.

Kod:
sh3.Cells(i2 + 1, SonSatir11).BackColor = &H8000000F
satırını aşağıdaki gibi değiştirin
Kod:
sh3.Cells(SonSatir11, i2 + 1).BackColor = &H8000000F

Muzaffer Ali bey teşekkürler ilginiz için ama yine aynı hata uyarısını verdi. AR sütununda en son satıra kadar sayma yaparken AR7 satırından başlayacak.
 
Son düzenleme:
Muzaffer Ali bey teşekkürler ilginiz için ama yine aynı hata uyarısını verdi. AR sütununda en son satıra kadar sayma yaparken AR7 satırından başlayacak.

Afedersiniz son dolu satıra kadar sayma yaparken, AR7 satırından başlayacak. Bir önceki mesajımda AO7 yazmışım.
 
Merhaba,

Sorularınızı örnek dosya ile desteklemeye özen göstermenizi rica ederim.

İlk mesajınıza göre yazdım. Ayrıca ilk mesajınızda 2. ve 5. satır ifadeleri kullanılmış? Ben 5.satıdan başlattım.
Kod:
Set sh3 = Sheets("tablo")
sh3.Range("D5:AO5").Interior.ColorIndex = xlNone
For i2 = 4 To sh3.Cells(5, "AP").End(xlToLeft).Column
If sh3.Cells(5, i2).Value = 6 Or sh3.Cells(5, i2).Value = 7 Then
sh3.Cells(5, i2).Interior.ColorIndex = 16
End If
Next i2
 
Merhaba,

Sorularınızı örnek dosya ile desteklemeye özen göstermenizi rica ederim.

İlk mesajınıza göre yazdım. Ayrıca ilk mesajınızda 2. ve 5. satır ifadeleri kullanılmış? Ben 5.satıdan başlattım.
Kod:
Set sh3 = Sheets("tablo")
sh3.Range("D5:AO5").Interior.ColorIndex = xlNone
For i2 = 4 To sh3.Cells(5, "AP").End(xlToLeft).Column
If sh3.Cells(5, i2).Value = 6 Or sh3.Cells(5, i2).Value = 7 Then
sh3.Cells(5, i2).Interior.ColorIndex = 16
End If
Next i2

Ömer bey teşekkür ederim kod için. 5. satır baz alınmış 6 ve 7 rakamları aranırken 2. satır baz alınacaktı. Bi de son dolu satıra kadar zemin rengi değişecek.
 

Ekli dosyalar

  • 11111.jpg
    11111.jpg
    696 KB · Görüntüleme: 5
Deneyiniz.
Kod:
Set sh3 = Sheets("tablo")
son = sh3.Cells(Rows.Count, "A").End(xlUp).Row
sh3.Range("D7:AO" & Rows.Count).Interior.ColorIndex = xlNone
For i2 = 4 To 41
If sh3.Cells(2, i2).Value = 6 Or sh3.Cells(2, i2).Value = 7 Then
sh3.Cells(7, i2).Resize(son - 6, 1).Interior.ColorIndex = 16
End If
Next i2
 
Deneyiniz.
Kod:
Set sh3 = Sheets("tablo")
son = sh3.Cells(Rows.Count, "A").End(xlUp).Row
sh3.Range("D7:AO" & Rows.Count).Interior.ColorIndex = xlNone
For i2 = 4 To 41
If sh3.Cells(2, i2).Value = 6 Or sh3.Cells(2, i2).Value = 7 Then
sh3.Cells(7, i2).Resize(son - 6, 1).Interior.ColorIndex = 16
End If
Next i2

Çok teşekkürler Ömer bey çözüldü.
 
Geri
Üst