ExcelアプリケーションでOffice2011for Macを使用していますが、何とかして、連続して赤い色のセルがいくつあるかを読み取ることができますか?
質問する
2324 次
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 に答える