Or x=? şeklinde yazılan ifadenin kısaltılması

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Merhabalar Değerli Dostlar,
For x = 3 To 107
If x = 21 Or x = 40 Or x = 51 Or x = 52 Or x = 53 Or x = 54 Or x = 55 Or x = 56 Or x = 57 Or x = 58 Or x = 59 Or x = 60 Or x = 61 Or x = 62 Or x = 63 Or x = 64 Or x = 65 Or x = 66 Or x = 67 Or x = 68 Or x = 69 Or x = 70 Or x = 71 Or x = 72 Or x = 73 Or x = 74 Or x = 75 Or x = 76 Or x = 77 Or x = 78 Or x = 79 Or x = 94 Then GoTo skip
al = sa.Cells(bul + 3, x)
If al > 0 Then
alrenk = sa.Cells(bul + 3, x).Font.ColorIndex
yaz = Array("", "", "", 1, 2, 3)(alrenk)
d = sp.[A2:A68].Value
bul3 = wf.Match(Trim(al), sp.[A2:A68], 0)
If Err <> 0 Then
MsgBox "[PUANTAJ] Sayfasında Yaka Numarası Bulunamadı. İşlem İptal Edildi." & vbCr & al
Exit Sub

End If

sp.Cells(bul3 + 1, bul2 + 2).Value = yaz
End If

Yukarıda yazılı olan kırmızı renkli kodlar [51:79] aralığını nasıl kısaltarak yazarız. Birde bu kod içerisindeki renk tanıma koşullu biçimlendirme ile yapılan renkleri tanımıyor. Hücre rengini baz alıyor. Koşullu biçimlendirme ie yapılan renkleri tanıması nasıl yapılabilir.
 

Orion1

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

Ofis-2010-TR 32 Bit
Merhaba.
&#304;lksorunuzun cevab&#305; i&#231;in a&#351;a&#287;&#305;daki kodu denermisiniz?
2'nci sorunun cevab&#305;n&#305; bende bilmiyorum.:cool:
Kod:
If x = 21 Or x = 40 Or x >= 51 And x <= 79 or x = 94 Then GoTo Skip
 

Orion1

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

Ofis-2010-TR 32 Bit
Rica ederim.
İyi çalışmalar.:cool:
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Say&#305;n kelkitli
Ko&#351;ullu Bi&#231;imlendirmeden yapt&#305;&#287;&#305;n&#305;z renklendirme ile makroda i&#351;lem yapamazs&#305;n&#305;z.
&#199;&#246;z&#252;m&#252;; Ko&#351;ullu Bi&#231;imlendirmenizi iptal edip ayn&#305; &#351;artlar&#305; (yani ko&#351;ullu renklendirmeyi) makro ile yapmak.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
.............
Yukarıda yazılı olan kırmızı renkli kodlar [51:79] aralığını nasıl kısaltarak yazarız. Birde bu kod içerisindeki renk tanıma koşullu biçimlendirme ile yapılan renkleri tanımıyor. Hücre rengini baz alıyor. Koşullu biçimlendirme ie yapılan renkleri tanıması nasıl yapılabilir.
Koşullu biçimlendirme renklerini okutamazsınız bunun yerine koşulu makro içinde tanımlayarak, sonucuna göre işlem yaptırın.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn.Leventm ve Sn.AS3434 Cevaplar&#305;n&#305;z i&#231;in &#231;ok &#231;ok te&#351;ekk&#252;r ederim. Ben ko&#351;ullu bi&#231;imlendirmeyi &#351;&#246;yle yapt&#305;m. A s&#252;tununda A4 den itibaren 1 ay&#305;n tarihleri yaz&#305;l&#305;. Form&#252;l&#252; &#351;&#246;yle yazd&#305;m.=E&#286;ER(HAFTANING&#220;N&#220;(A4)=1;A4;"")
A4,A5,A6,A7....... diye. Haftan&#305;n yaz&#305;l&#305; g&#252;n&#252;ne gelince h&#252;cre k&#305;rm&#305;z&#305; olyor. Bunu kodla yapabilirmiyiz. Daha do&#287;rusu sizler i&#231;in zor olmasa gerek. Olursa insanl&#305;&#287;a ge&#231;er.
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Sn. kelkitli
Akşamdan beri uğraştım ama VBA prosedürlerini bilmediğimden tarih ile (Bugün) sorunu çözemedim. Ama şöyle bir şey işinize yarar mı bilmem.
Yalnız haftanın günü olanları değil sadece bugünü renklendiriyor.
A1 hücresini baz alarak şu kodları hazırladım.

Kod:
Sub renk()
[COLOR=navy][a1] = Date[/COLOR]
[COLOR=navy][a:a].Interior.ColorIndex = xlNone[/COLOR]
[COLOR=navy]For Each hücre In [a4:a500][/COLOR]
[COLOR=navy]If hücre = [a1] Then hücre.Interior.ColorIndex = 3[/COLOR]
[COLOR=navy]Next[/COLOR]
End Sub
Mavi kısmı kendi kodlarınızın içinde kullanabilirsiniz.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Teşekkür ederim kombo işimi çözmez ama kod üzerinde çözüm arayacağım.
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Sayın kelkitli

Uğraştım ve sorunu çözdüm.

Kod:
Sub renk()
[COLOR=blue][a:a].Interior.ColorIndex = xlNone[/COLOR]
[COLOR=blue]For Each hcr In [a4:a100][/COLOR]
[COLOR=blue]If Weekday(hcr) = Weekday(Date) Then hcr.Interior.ColorIndex = 3[/COLOR]
[COLOR=blue]Next[/COLOR]
End Sub
Yine dediğim gibi Mavi kısmı kendi kodlarınızın içinde kullanabilirsiniz.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Teşekkürler ederim Sn.kombo Sn.Yurttaş,
Sn.kombo

Sub renk()
[a:a].Font.ColorIndex = 36
For Each hcr In [a4:a34]
If Weekday(hcr) = Weekday(2) Then hcr.Font.ColorIndex = 3
Next
End Sub

Kod bu şekil değiştirince görevini yapıyor. Ancak işaretlemeyi A sütununda değil de C sütununda yaparsa iş görmüş olacak. Yani kaydır (offset) fonksiyonu kullanmak gerekiyor.

Sn.Yurttaş Hocam,
Sağolun aslen konu kod ile koşullu biçimlendirme. Koşullu biçimlendirme ile elde ettiğimiz Font renkleri olmuyor onun için kodla yapmaya çalışıyoruz. Böyle bir örneğiniz varsa olur. Ben forumda aradım bulamadım.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Teşekkürler ederim Sn.kombo Sn.Yurttaş,
Sn.kombo

Sub renk()
[a:a].Font.ColorIndex = 36
For Each hcr In [a4:a34]
If Weekday(hcr) = Weekday(2) Then hcr.Font.ColorIndex = 3
Next
End Sub

Kod bu şekil değiştirince görevini yapıyor. Ancak işaretlemeyi A sütununda değil de C sütununda yaparsa iş görmüş olacak. Yani kaydır (offset) fonksiyonu kullanmak gerekiyor.
O zaman Sayın Kombo'nun kodlarını aşağıdaki şekilde kullanın.

Sub renk()
[c:c].Font.ColorIndex = 36
For Each hcr In [c4:c34]
If Weekday(hcr) = Weekday(2) Then hcr.Font.ColorIndex = 3
Next
End Sub


..
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn.Yurttaş,
C sütununda tarih değeri yokki. A sütununda tarhleri işaretleyip işaretli hücrelerin 2 hücre sağındaki hücreleri kırmızı renk ile belileyecek.
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Sayın kelkitli

Dosyanıza bakmadım ama kodları şöyle denermisiniz.

Kod:
Sub renk()
[c:c].Interior.ColorIndex = 36
For i = 4 To 34
If Weekday(Range("a" & i)) = 2 Then Range("c" & i).font.ColorIndex = 3
Next
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Te&#351;ekk&#252;rler kombo

Sub renk()
[c:c].Font.ColorIndex = 36
For i = 4 To 34
If Weekday(Range("a" & i)) = 2 Then Range("c" & i).Font.ColorIndex = 3
Next
End Sub

Kod &#351;u &#351;ekilde &#231;al&#305;&#351;&#305;yor.
 
Son düzenleme:
Üst