DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Function KimKullanmış(Renk As Range) As String
Dim wks As Worksheet
Dim sKimKullanmis As String
Application.Volatile
If TypeOf Renk Is Range Then
For Each wks In ThisWorkbook.Worksheets
If wks.Range("B8") = Renk Then
sKimKullanmis = sKimKullanmis & ", " & wks.Name
End If
Next
KimKullanmış = Mid(sKimKullanmis, 3, Len(sKimKullanmis))
Else
KimKullanmış = Empty
End If
End Function
Ekteki örnek dosyayı inceleyiniz.
Kullanıcı Tanımlı bir fonksiyon geliştirilmiştir ...
Fonksiyon'un kullanımını hücrelerde gösterdim ... Kodlama şu şekildedir.
Kod:Function KimKullanmış(Renk As Range) As String Dim wks As Worksheet Dim sKimKullanmis As String Application.Volatile If TypeOf Renk Is Range Then For Each wks In ThisWorkbook.Worksheets If wks.Range("B8") = Renk Then sKimKullanmis = sKimKullanmis & ", " & wks.Name End If Next KimKullanmış = Mid(sKimKullanmis, 3, Len(sKimKullanmis)) Else KimKullanmış = Empty End If End Function
Ekteki örnek dosyayı inceleyiniz.
Kullanıcı Tanımlı bir fonksiyon geliştirilmiştir ...
Fonksiyon'un kullanımını hücrelerde gösterdim ... Kodlama şu şekildedir.
Kod:Function KimKullanmış(Renk As Range) As String Dim wks As Worksheet Dim sKimKullanmis As String Application.Volatile If TypeOf Renk Is Range Then For Each wks In ThisWorkbook.Worksheets If wks.Range("B8") = Renk Then sKimKullanmis = sKimKullanmis & ", " & wks.Name End If Next KimKullanmış = Mid(sKimKullanmis, 3, Len(sKimKullanmis)) Else KimKullanmış = Empty End If End Function
Function KimKullanmış(Renk As String) As String
Dim wks As Worksheet
Dim sKimKullanmis As String
Dim rngBul As Range
Application.Volatile
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "RENKLER" Then
If wks.Name <> "Hangi Rengi Kim Kullanmış" Then
Set rngBul = wks.Range("B:B").Find(What:=Renk)
If Not rngBul Is Nothing Then
sKimKullanmis = sKimKullanmis & ", " & wks.Name
End If
End If
End If
Next
If Len(sKimKullanmis) = 0 Then
KimKullanmış = Empty
Else
KimKullanmış = Mid(sKimKullanmis, 3, Len(sKimKullanmis))
End If
Tekrar Merhaba!
Evet haklısınız son kodu yazınca oldu. Ancak bu defada verdiğiniz kodda birşeyi gözardı etmişsiniz galiba.Oda şu; kullanıcılara renkleri(B8 leri) tek tek yazmak gerekiyor. Oysa B8 lere veri formülle geliyordu. Örneğin; "Ali" çalışma sayfasında: A8 e rengin kodunu yazınca geliyordu. Şimdi A8 e rengin kodunu(örneğin: 1 ) yazıyorum, B8 e renk adı(kırmızı) geliyor. Ancak "Hangi Rengi Kim Kullanmış" sayfasına bakınca B8 e renk yazdığı halde o kişi o rengi kullanmış görünmüyor. Çok oldum biliyorum, ama benim işimi görmesi için bu sorunu düzeltmem lazım. Peki bu sorunu nasıl düzeltebiliriz, kodu yazarsanız sorun tamamen çözülmüş olacak. Ve duacınız olacağım.
Function KimKullanmış(Renk As String) As String
Dim wks As Worksheet
Dim sKimKullanmis As String
Dim rngBul As Range
Application.Volatile
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "RENKLER" Then
If wks.Name <> "Hangi Rengi Kim Kullanmış" Then
Set rngBul = wks.Range("B:B").Find(What:=Renk, [COLOR=red]LookIn:=xlValues[/COLOR])
If Not rngBul Is Nothing Then
sKimKullanmis = sKimKullanmis & ", " & wks.Name
End If
End If
End If
Next
If Len(sKimKullanmis) = 0 Then
KimKullanmış = Empty
Else
KimKullanmış = Mid(sKimKullanmis, 3, Len(sKimKullanmis))
End If
Set rngBul = Nothing
End Function
Yardımlarınız sayesinde. hiç bir sorunum kalmadı. Minnettarlığımı nasıl ifade edeyim bilemiyorum. Sabaha kadar "sağol", "sağol" yazsam yinede hakkınızı ödeyemem. 12 yıldır bana sorun olan bir işimi sayenizde artık elle değilde. bilgisayarda sizin yardımlarınızla yaptığım basit bir excel programı ile çok çabuk yapabileceğim. Bu Forum bir harika. Emeğinize sağlık. SONSUZ TEŞEKKÜRLER....