エクセルのセル内の文字色に関してのマクロを下記の通り書きました。
Function SpecialCell(targetRange As Range, _
intColor As Integer) As Integer
'赤は3,緑は4,青は5,黄は6
Dim myCell As Range
For Each myCell In targetRange
If myCell.Font.ColorIndex = intColor _
Or myCell.Interior.ColorIndex = intColor Then
SpecialCell = SpecialCell + 1
End If
Next
End Function
その後答えを求めるセルに
=SpecialCell(D5:D125,3)
これはちゃんと表示できます。
しかし、
=SpecialCell(D10,D8,D29,D49,D51,D57,3)
このようにセルの個別ごとに求めようとすると
#VALUE!
が出ますので引数が間違っているのだとは思うのですが、
この場合はどうすればよろしいでしょうか?
また、セル内に複数の色つき文字がある場合、
例えば同一セル内に
(1)(2)(3)
とあって、
(1)が赤
(2)が青
(3)がピンク
とした場合、
=SpecialCell(D5:D125,3)
これでは0と出てきてしまいます。。。
この場合はどういう風に数式をいれればよいのでしょうか?
以上2点ほどご教授いただけると助かります。
よろしくお願いいたします。。。
エクセルのセル内の文字色に関してのマクロを下記の通り書きました。
Function SpecialCell(targetRange As Range, _
intColor As Integer) As Integer
'赤は3,緑は4,青は5,黄は6
Dim myCell As Range
For Each myCell In targetRange
If myCell.Font.ColorIndex = intColor _
Or myCell.Interior.ColorIndex = intColor Then
SpecialCell = SpecialCell + 1
End If
Next
End Function
その後答えを求めるセルに
=SpecialCell(D5:D125,3)
これはちゃんと表示できます。
しかし、
=SpecialCell(D10,D8,D29,D49,D51,D57,3)
このようにセルの個別ごとに求めようとすると
#VALUE!
が出ますので引数が間違っているのだとは思うのですが、
この場合はどうすればよろしいでしょうか?
また、セル内に複数の色つき文字がある場合、
例えば同一セル内に
(1)(2)(3)
とあって、
(1)が赤
(2)が青
(3)がピンク
とした場合、
=SpecialCell(D5:D125,3)
これでは0と出てきてしまいます。。。
この場合はどういう風に数式をいれればよいのでしょうか?
以上2点ほどご教授いただけると助かります。
よろしくお願いいたします。。。
エクセルのセル内の文字色に関してのマクロを下記の通り書きました。
Function SpecialCell(targetRange As Range, _
intColor As Integer) As Integer
'赤は3,緑は4,青は5,黄は6
Dim myCell As Range
For Each myCell In targetRange
If myCell.Font.ColorIndex = intColor _
Or myCell.Interior.ColorIndex = intColor Then
SpecialCell = SpecialCell + 1
End If
Next
End Function
その後答えを求めるセルに
=SpecialCell(D5:D125,3)
これはちゃんと表示できます。
しかし、
=SpecialCell(D10,D8,D29,D49,D51,D57,3)
このようにセルの個別ごとに求めようとすると
#VALUE!
が出ますので引数が間違っているのだとは思うのですが、
この場合はどうすればよろしいでしょうか?
また、セル内に複数の色つき文字がある場合、
例えば同一セル内に
(1)(2)(3)
とあって、
(1)が赤
(2)が青
(3)がピンク
とした場合、
=SpecialCell(D5:D125,3)
これでは0と出てきてしまいます。。。
この場合はどういう風に数式をいれればよいのでしょうか?
以上2点ほどご教授いただけると助かります。
よろしくお願いいたします。。。
複数人のスタッフで1つのエクセルファイルを管理しています。
管理方法は下記の通りです。
現在、担当しているお客様から連絡やアポイントなどがあったかを記録に残すためのexcelデータを作成しています。
1つのexcelファイルに人数分のシートを作成し、それぞれが自分のシートに毎月の連絡の有無を○×形式で記入していきます。
シート内には各自が担当している案件名と1月~12月までの見出し、備考欄などが記載されています。
それぞれのシートの内容が書き換えられた最終更新日を所定のセルに記載させたいのです。
マクロを使用して下記のような記述をしてみましたが、どれか1つのセルを変更すると全てのシートの最終更新日が同じ時間に更新されたような表記になってしまします。
複数人でエクセルファイルを管理するため、誰がいつ担当のシートを書き換えたかを記載するためにはどの様な記述をすれば良いのでしょうか?
【使用している関数】=LastSaveTime()
【記述内容】
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'イベント抑止
Application.EnableEvents = False
With Sh
If Intersect(Target, .Range("E4:P100")) Is Nothing Then GoTo EndRtn
.Range("Q2").Value = Date
End With
EndRtn:
'イベント抑止を解除
Application.EnableEvents = True
End Sub
上記の方法でシートを作成してみましたが、最終更新日を表示させるセルに
=LastSaveTime()
を記述したところ
#NAME?
と表示されてしまいました。
セルの書式設定も日付に変更しましたが変化がありません。
VBEを適用するまでの流れは下記アドレスのNo.5様を参考にさせて頂いております。
http://okwave.jp/qa/q4367944.html
上記の方法と今回の方法はそもそも目的としているものが違うのでしょうか?
素人目には同じような目的だと感じたので参考にさせていただいたのですが…
何度もお手数をおかけ致しますがご回答の程、宜しくお願い致します。
エクセルのセル内の文字色に関してのマクロを下記の通り書きました。
Function SpecialCell(targetRange As Range, _
intColor As Integer) As Integer
'赤は3,緑は4,青は5,黄は6
Dim myCell As Range
For Each myCell In targetRange
If myCell.Font.ColorIndex = intColor _
Or myCell.Interior.ColorIndex = intColor Then
SpecialCell = SpecialCell + 1
End If
Next
End Function
その後答えを求めるセルに
=SpecialCell(D5:D125,3)
これはちゃんと表示できます。
しかし、
=SpecialCell(D10,D8,D29,D49,D51,D57,3)
このようにセルの個別ごとに求めようとすると
#VALUE!
が出ますので引数が間違っているのだとは思うのですが、
この場合はどうすればよろしいでしょうか?
また、セル内に複数の色つき文字がある場合、
例えば同一セル内に
(1)(2)(3)
とあって、
(1)が赤
(2)が青
(3)がピンク
とした場合、
=SpecialCell(D5:D125,3)
これでは0と出てきてしまいます。。。
この場合はどういう風に数式をいれればよいのでしょうか?
以上2点ほどご教授いただけると助かります。
よろしくお願いいたします。。。