2009-12-04 8 views
0

많은 양의 텍스트가 포함 된 많은 수의 셀이있는 워크 시트가 있습니다. 특정 세포 내에서 빨간색으로 표시된 텍스트가있을 수 있습니다. 해당 텍스트를 제거하고 다른 열로 복사하고 싶습니다.Excel에서 특정 색의 텍스트 만 복사하는 방법은 무엇입니까?

셀 내용을 문자 단위로 확인하여이를 수행하지만 스프레드 시트가 매우 크고 프로세스가 크롤링 속도가 느려지는 VBA 기능이 있습니다. 이 작업을 수행하는보다 효율적인 방법이 있습니까?

답변

1

귀하의 질문이 좀 모호하지만, 당신이 당신의 VBA 기능은 Worksheets("yourname").Cells(rowIndex, colIndex).Interior.Color

+0

문제는 셀의 텍스트가 검정 텍스트 *와 * 빨간색 텍스트를 가질 수 있으며, 내가 * *을 빨간색 텍스트를 복사 할 것입니다. 또한 color 속성은 텍스트가 아닌 색을 채우는 것을 의미한다고 생각합니다. – tamewhale

+0

예, "채색 된 빨강"을 잘못 해석하여 셀의 배경 채우기가 빨간색임을 나타냅니다. – JasDev

1

정확히 어떻게 당신이하고있는 각 셀의 .Interior.Color 속성을 확인이 필요한 것 같습니다? 셀을 활성화 한 다음 루프에서 데이터를 읽으십니까? 매크로 성능 향상에 대해 these tips을 사용해 보셨습니까? 주어진 단어의 특정 문자가 아닌 단어 만 빨간색으로 표시되면 텍스트 블록에서 임시 배열을 만들고 (""문자를 구분 기호로 사용) 각 단어를 반복 할 수 있습니까?

거친 예)

blockOfText = "This is a block of text." 
myArray = split(blockOfText, " ") 
for each str in myArray 
    '' If color is red, append to "bad text array" and remove from this one '' 
next 
'' Then convert the "myArray" back into a string and place back in the cell 
관련 문제