2016-10-23 1 views
-2

누구든지 열의 각 셀 내에서 서식을 변경하기 위해 Excel에서 매크로를 추가하는 데 도움을 줄 수 있습니까? .Excel에서 셀 서식을 변경하는 방법 (예 : 일부 단어 만 기울이고 일부 단어 만 기울임)

Italise : 속, 종, 아종, 또는 다양한

그러나 단어 italise하지 :.. subsp, VAR, X, F를

나는 올바른 형식 공장 이름이 필요합니다. aff. 또는 따옴표 안에있는 단어 "

Olea europaea subsp. cuspidata 또는 아 domestica에 '골든 맛있는'

감사

답변

1

당신이 italicise 할 셀의 문자를 지정하기위한 기본 구문은 간단하다 : 수정

Range("I4").FormulaR1C1 = "Malus domestica 'Golden Delicious'" 
Range("I4").Characters(Start:=1, Length:=16).Font.FontStyle = "Regular" 
Range("I4").Characters(Start:=16, Length:=19).Font.FontStyle = "Italic" 

그냥 문제 즉, 문자열의 어떤 문자를 기울임 꼴로 표시해야하는지 파악하는 등 응용 프로그램에 적합합니다. 행운을 빌어 요.

+0

감사에 대한 하위하지만 모든 세포는 다른 정의 된 단어 목록 – RIK

+0

그게 당신이 들어오는 곳입니다. 당신의 임무는 적용 가능한 모든 셀을 반복하는 코드를 작성하고 기울임 꼴 섹션을 시작하고 끝낼 위치를 결정하려는 논리를 구현하는 것입니다. – CustodianOfCode

0

셀 안의 문자 중 일부만 서식을 지정하려는 경우 조건부 서식 대신 정규식 (regexp)을 사용할 수 있습니다.

Portland Runner 사용자의 우수한 방법을 보려면 this을 읽으십시오.

또한 사용자가 brettdj에서 this의 답변을 보면 셀 값의 일부만 서식을 지정하는 방법을 놓친 것입니다.

귀하의 작업에 대해서는

: 그래서 내가 필요로 무엇을 제외한 모든 셀 내용을 italicises 하나 개의 코드가 여기

Sub FormatMyApples() 

    ' Format keywords that are NOT wrapped in single quotes 
    FormatRegExpItalic _ 
     "[^'](Olea europaea|cuspidata|Malus domestica|Golden Delicious)[^']" _ 
     , ActiveSheet.UsedRange 
End Sub 

을 그리고 실제 포맷

Private Sub FormatRegExpItalic(_ 
ByVal pattern As String, ByRef range As Variant) 

    Dim RegMC As Object 
    Dim RegM As Object 
    Dim cell As Object 

    With CreateObject("vbscript.regexp") 
     .Global = True 
     .IgnoreCase = True 
     .pattern = pattern 

     For Each cell In range 
      If .test(cell.Value) Then 
       Set RegMC = .Execute(cell.Value) 
       For Each RegM In RegMC 
        cell.Characters(RegM.FirstIndex + 1, RegM.Length).Font.FontStyle = "Italic" 
       Next 
      End If 
     Next cell 
    End With 
End Sub 
관련 문제