- Katılım
- 4 Nisan 2006
- Mesajlar
- 999
- Excel Vers. ve Dili
- OFFICE 2021 Türkçe
Merhabalar;
Kelimeler sayfasının A sütunundaki kelimeler iş listesi sayfasındaki B sütunundaki metin içerisinde teker teker döngüye giriyor ve kelimeler sayfasındaki A sütunundaki kelimeleri içeriyorsa içeren kelimelerin fontu mavi ile renklenecek ve zemin rengi de istediğimiz bir renk ile renklendirilecek ve bir soldaki hücre de (offset( 0,-1) sadece zemin rengi istenilen renk ile renklendirilecek fakat Kelimeler sayfasının B sütunundaki kelimeler iş listesi sayfasındaki B sütunundaki metin içerisinde mevcut ise o kelimeler
renklendirme dışında kalacak
ben bir yere kadar yaptım fakat Kelimeler sayfasının B sütunu için bir işlem oluşturamadım
link
Saygılarımla
Kelimeler sayfasının A sütunundaki kelimeler iş listesi sayfasındaki B sütunundaki metin içerisinde teker teker döngüye giriyor ve kelimeler sayfasındaki A sütunundaki kelimeleri içeriyorsa içeren kelimelerin fontu mavi ile renklenecek ve zemin rengi de istediğimiz bir renk ile renklendirilecek ve bir soldaki hücre de (offset( 0,-1) sadece zemin rengi istenilen renk ile renklendirilecek fakat Kelimeler sayfasının B sütunundaki kelimeler iş listesi sayfasındaki B sütunundaki metin içerisinde mevcut ise o kelimeler
renklendirme dışında kalacak
ben bir yere kadar yaptım fakat Kelimeler sayfasının B sütunu için bir işlem oluşturamadım
link
Kod:
Option Explicit
Sub kelimedeBul()
Dim ws As Worksheet
Dim sh As Worksheet
Dim col As Collection
Dim shrng As Range
Dim shLr, shLr2, wsLr, mbul, shKacinci, wsKacinci As Long
Dim sayac, shUzunluk, tekrar, BaslangicSatir As Long
Dim i, j, k, l As Long
Dim str1, str2, str3 As String
Set ws = Data
Set sh = Kelimeler
Set col = New Collection
shLr = sh.Cells(Rows.Count, "A").End(xlUp).Row
shLr2 = sh.Cells(Rows.Count, "B").End(xlUp).Row
wsLr = ws.Cells(Rows.Count, "A").End(xlUp).Row
With ws.Range("A2:B" & wsLr).Interior
.Pattern = xlNone
End With
With ws.Range("A2:B" & wsLr).Font
.ColorIndex = xlAutomatic
.Bold = False
.FontStyle = "Normal"
.ColorIndex = xlAutomatic
End With
Set shrng = sh.Range("B2:B" & shLr2)
For i = 2 To wsLr
For j = 2 To shLr
On Error Resume Next
'Bu kısmı yapamadım.
shKacinci = Application.Match("*" & sh.Cells(j, "A") & "*", shrng, 0)
str1 = UCase(Replace(ws.Cells(i, "B").Value, "i", "İ"))
str2 = UCase(Replace(sh.Cells(j, "A").Value, "i", "İ"))
tekrar = (Len(str1) - Len(Application.Substitute(str1, str2, ""))) / Len(str2)
If IsError(shKacinci) And tekrar > 0 Then
sayac = 1
For k = 1 To tekrar
mbul = Application.Search(str2, str1, sayac)
sayac = mbul + 1
shUzunluk = Len(str2)
ws.Cells(i, "B").Characters(Start:=mbul, Length:=shUzunluk).Font.Color = vbBlue
ws.Cells(i, "B").Characters(Start:=mbul, Length:=shUzunluk).Font.Bold = True
Next k
ws.Range(ws.Cells(i, "A"), ws.Cells(i, "B")).Interior.Color = RGB(184, 204, 228)
ws.Range(ws.Cells(i, "A"), ws.Cells(i, "B")).Font.Bold = True
End If
On Error GoTo 0
Next j
Next i
Set ws = Nothing
Set sh = Nothing
Set shrng = Nothing
Set col = Nothing
End Sub
Saygılarımla