0

ExcelアプリケーションでOffice2011for Macを使用していますが、何とかして、連続して赤い色のセルがいくつあるかを読み取ることができますか?

4

2 に答える 2

1

これは、赤い塗りつぶしのあるセルの列番号と行番号を返すAppleScriptです。または、AppleScript以外の言語をお探しですか?

tell application "Microsoft Excel"
    tell active sheet
        set lastColumn to used range's last column's first column index
        set lastRow to used range's last row's first row index

        set redCells to {}
        repeat with columnCounter from 1 to lastColumn
            repeat with rowCounter from 1 to lastRow
                if column columnCounter's row rowCounter's interior object's color is {255, 0, 0} then
                    copy {columnCounter, rowCounter} to end of redCells
                end if
            end repeat
        end repeat

        return redCells
    end tell
end tell

のような1行のスクリプトのtell application "Microsoft Excel" to tell active sheet to return every cell of used range whose interior object's color is {255, 0, 0}方が高速に実行されると思いますが、正確な表現を理解することはできません。

于 2013-02-02T19:32:55.273 に答える
1

これは、次のコードで VBA を使用して可能です。モジュールに入れて、チェックしたいシートから実行します。

Sub GetRedCells()
    Dim rCell As Range, rRowRange As Range, iRow As Integer, iInteriorColour As Integer, iFontColour As Integer

    iRow = Application.InputBox("Enter Row Number")

    If iRow > 0 Then
        Set rRowRange = ActiveSheet.Range(ActiveSheet.Cells(iRow, "A"), ActiveSheet.Cells(iRow, ActiveSheet.UsedRange.Columns.Count))

        For Each rCell In rRowRange
            If rCell.Interior.Color = vbRed Then iInteriorColour = iInteriorColour + 1
            If rCell.Font.Color = vbRed Then iFontColour = iFontColour + 1
        Next rCell

        MsgBox "You have " & iInteriorColour & " cell(s) that have a red interior " & vbCr & "and " & iFontColour & " cell(s) with a red font."
    End If
End Sub
于 2013-02-03T22:18:02.187 に答える