tahsinanarat
Altın Üye
- Katılım
- 14 Mart 2005
- Mesajlar
- 2,181
- Excel Vers. ve Dili
- Ofis 2019 Türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Örnek dosyada hücrede bulunan renkli kelimeleri saydırabilirsek de benim işim görülür.
Sub ayır()
For i = 1 To [a65536].End(3).Row
Worksheets(ActiveSheet.Name).Cells(i, 1).Select
deg1 = Worksheets(ActiveSheet.Name).Cells(i, 1).Value
j = 1
For j = 1 To Len(Worksheets(ActiveSheet.Name).Cells(i, 1).Value) + 1
On Error Resume Next
If ActiveCell.Characters(Start:=1, Length:=j).Font.FontStyle = "Kalın" Then
Worksheets(ActiveSheet.Name).Cells(i, 2).Value = ActiveCell.Characters(Start:=1, Length:=j).Text
ActiveCell.Characters(Start:=1, Length:=j).Font.ColorIndex = 3
End If
Next j
deg2 = Worksheets(ActiveSheet.Name).Cells(i, 2).Value
Worksheets(ActiveSheet.Name).Cells(i, 3).Value = Trim(Mid(deg1, Len(deg2) + 1, Len(deg1)))
Next i
MsgBox "işlem tamam"
End Sub
Sub ayır()
For i = 1 To [a65536].End(3).Row
deg1 = Worksheets(ActiveSheet.Name).Cells(i, 1).Value
For j = 1 To Len(Worksheets(ActiveSheet.Name).Cells(i, 1).Value) + 1
On Error Resume Next
If Worksheets(ActiveSheet.Name).Cells(i, 1).Characters(Start:=j, Length:=1).Font.ColorIndex = 5 Then
Worksheets(ActiveSheet.Name).Cells(i, 2).Value = Worksheets(ActiveSheet.Name).Cells(i, 1).Characters(Start:=1, Length:=j).Text
'Worksheets(ActiveSheet.Name).Cells(i, 1).Characters(Start:=j, Length:=1).Font.ColorIndex = 3 ' burası doğrulama renk olarak değişiyor
End If
Next j
deg2 = Worksheets(ActiveSheet.Name).Cells(i, 2).Value
Worksheets(ActiveSheet.Name).Cells(i, 3).Value = Trim(Mid(deg1, Len(deg2) + 1, Len(deg1)))
Next i
MsgBox "işlem tamam"
End Sub
Sn. halit3 hocam renkli kelimeler ile renksizlerin ayrılması mükemmel olmuş elinize bilginize sağlık, birde bir kelimeden fazla renkli satırları sildirebilirmiyiz, yada renki kelimelerin kaç adet olduğunu B sutununa da yazdırabilirsek bu da benim işimi görecektir. 1. mesajdaki örnek dosya halen geçerlidir. Saygılarımla.
Option Explicit
Sub RENGE_GÖRE_SİL()
Dim X As Long, Y As Integer
Application.ScreenUpdating = False
For X = Range("A65536").End(3).Row To 1 Step -1
For Y = 1 To Len(Cells(X, 1))
If Cells(X, 1).Characters(Start:=Y, Length:=1).Font.ColorIndex = 5 Then
Cells(X, 2).Value = Cells(X, 1).Characters(Start:=1, Length:=Y).Text
End If
If InStr(1, Cells(X, 2), " ") > 0 Then Cells(X, 3) = "SİL"
'If InStr(1, Cells(X, 2), " ") > 0 Then Rows(X).Delete
Next
Next
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Len(Cells(X, 1))