4

行番号で行を強調表示するようにExcelに指示するにはどうすればよいですか。たとえば、行6、10、150、201を強調表示したいとします。ありがとう。

4

7 に答える 7

5

Motesの回答の代わりに、条件付き書式を使用できます。

例:A1:J500を選択、条件付き書式>>新しいルール>>数式を使​​用...

式には次のように入力します。=OR(ROW()=6, ROW()=10, ROW()=150, ROW()=201)

于 2012-06-06T22:38:01.337 に答える
5

これはモートに基づいた別のものです.EntireRow.Interior.ColorIndex

これは、行番号の入力を制限するものではありませんが、実行時に行を選択する柔軟性をユーザーに提供します。

Option Explicit

Sub Sample()
    Dim Ret As Range

    On Error Resume Next
    Set Ret = Application.InputBox("Please select the rows that you would like to color", "Color Rows", Type:=8)
    On Error GoTo 0

    If Not Ret Is Nothing Then Ret.EntireRow.Interior.ColorIndex = 6
End Sub

ファローアップ

リストから行番号を読み取り、行を強調表示するマクロを作成する方法はありますか?

はい、方法があります。セルA1からA10のリストを考えてみましょう。そうすれば、このコードを使用できます。

Option Explicit

Sub Sample()
    Dim i As Long, sh As Worksheet

    On Error GoTo Whoa

    Application.ScreenUpdating = False

    '~~> Set this to the sheet where the rows need to be colored
    Set sh = Sheets("Sheet2")

    '~~> Change Sheet1 to the sheet which has the list
    With Sheets("Sheet1")
        For i = 1 To 10
            If Not Len(Trim(.Range("A" & i).Value)) = 0 And _
            IsNumeric(.Range("A" & i).Value) Then _
            sh.Rows(.Range("A" & i).Value).Interior.ColorIndex = 3 '<~~ Red
        Next i
    End With

LetsContinue:
    Application.ScreenUpdating = True
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume LetsContinue
End Sub
于 2012-06-06T23:25:13.350 に答える
4

基本的なVBAコードの場合、いつでもマクロの記録を開始し、アクションを実行し、記録を停止し、生成されたコードを確認してから、それをクリーンアップして必要な処理を実行できます。たとえば、行を強調表示するアクションを記録する(Interior.Colorの値を設定する)と、次のようになります。

Rows("13:13").Select
Range("C13").Activate
With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

選択コマンドと無関係な内部プロパティを削除して、次のことを行うことができます。

Rows("13:13").Interior.Color = 65535

行に複数選択を追加します。

Rows("6:6,10:10,150:150,201:201").Interior.Color = 65535

概要:

  • マクロの記録
  • Excelのバージョンを表示する
  • 必要なコードを使用/編集する
于 2012-06-06T22:36:25.993 に答える
3
objWB.Cells(rowNum,201).EntireRow.Interior.ColorIndex = 6

于 2012-06-06T22:16:15.510 に答える
0

更新:これに関する日付はわかりませんでしたが、選択した回答に関連しているため、これを追加すると思いました。

Siddharth Routの回答に加えて、コメントするのに十分な担当者がいないため、これらの2行を使用して、ワークシートに何行あるかを動的に把握できます。 xlCellTypeConstants必要な別のXlCellType定数に変更でき、スプレッドシートに合わせて範囲をいつでも変更できます。

Dim numRows As Integer
numRows = Range("A2", Range("A1048576").End(xlUp)).SpecialCells(xlCellTypeConstants).Cells.Count
于 2015-03-17T19:56:50.267 に答える
0

他の答えほど簡潔でもエレガントでもない場合は申し訳ありませんが、それで仕事は終わります。自分のアプリケーション用のコードを書いているとき、コードをループする必要がありました。また、行全体を強調表示する代わりに、行の一部を強調表示するだけで済みました。

Sub Highlight()
Dim ThisWB As Workbook
Dim ThisWS As Worksheet
Dim rows(0 To 3) As Integer
Dim test As String

Set ThisWB = ActiveWorkbook
Set ThisWS = ThisWB.Sheets("Sheet1")

rows(0) = 6
rows(1) = 10
rows(2) = 150
rows(3) = 201

For i = 0 To 3
    test = "A" & rows(i) & ":H" & rows(i)
    ThisWS.Range(test).Interior.ColorIndex = 15
Next i

End Sub
于 2016-06-28T19:45:56.023 に答える
0

条件付き書式を使用して同じことを達成できる場合があります

于 2016-08-05T14:43:35.113 に答える