2017-03-28 13 views
0
から色列にVBAで私をアシスト

:Gは、特定のテキストを検索することで、「UK'in列 enter image description here色コラム:

+0

使用条件付き書式

ここでは、インデックスカラーを選択することができます。 1)セルを選択する、言い換えればA2 2)書式を使って書式を決定する新しいルールを作成する3)ルール= $ A5 = "UK" 4)テーブルに合わせてルールの範囲を調整する – bioschaf

+0

A5で安定していない、これは変更されます。 –

+0

マクロレコーダーを使用してコードを生成し、ニーズに合わせて修正します。特定の問題のコードがある場合は、分析のために投稿してください。 – June7

答えて

0

これを試してください。 Code1はワークブック内のすべてのシートで機能しますが、アクティブシートでこれが機能するようにしたい場合はCode2を試してください。 Code2の場合、正しいシート名を書き留めてください。それが役に立てば幸い。 https://stackoverflow.com/a/25000926/7238313

CODE1:

Sub rowhighlight() 
Dim sht As Worksheet 
Dim nlast As Long 

For Each sht In ActiveWorkbook.Worksheets 
    sht.Select 
    nlast = Cells(Rows.Count, "A").End(xlUp).Row 

     For n = nlast To 2 Step -1 
      If sht.Cells(n, "A").Value = "UK" Then 
       sht.Range("A" & n, "G" & n).Interior.ColorIndex = 37 
       'different color number place here----------------^ 
      End If 
     Next n 
    Next sht 
End Sub 

CODE2:

Sub rowhighlight() 
Dim nlast As Long 

Sheets("sheetname").Activate 
Set sht = ActiveWorkbook.ActiveSheet 
nlast = Cells(Rows.Count, "A").End(xlUp).Row 

    For n = nlast To 2 Step -1 
     If sht.Cells(n, "A").Value = "UK" Then 
      sht.Range("A" & n, "G" & n).Interior.ColorIndex = 37 
      'different color number place here----------------^ 
     End If 
    Next n 
End Sub 
0

非常に短いと言います汚いと失礼なコードは次のとおりです:

Sub ColorColumns() 
    On Error Resume Next 
    Range("A1", Cells(Rows.Count, 1).End(xlUp)).Find(what:=Application.InputBox("Text to search:", , , , , , , 2), LookIn:=xlValues, lookat:=xlWhole).Resize(, 7).Interior.ColorIndex = 6 
End Sub 
0

次のコードを使用できます。コードを実行するときは、テーブルを含むシートをアクティブにしておいてください。あるいは、ws変数を設定するときにシートを明示的に指定することもできます。

Sub SelectivelyColorARowRed() 

    Dim ws As Worksheet 
    Set ws = ActiveSheet 
    lng_lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row 

    Dim k As Long 

    For k = 2 To lng_lastrow 
     If Trim(ws.Cells(k, 1).Value) = "UK" Then 
     'you can also apply UCase if you want the search to be case-insensitive 
     'like: If UCase(Trim(ws.Cells(k, 1).Value)) = UCase("Uk") Then 
      ws.Range(Cells(k, 1), Cells(k, 7)).Interior.ColorIndex = 22 
     End If 
    Next k 

End Sub 
関連する問題