
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#3の回答者です。
質問者さんには申し訳ありませんが、私からは、これ以上は、私自身のマクロについてはコメントするのは控えさせていただきます。おそらく、マクロコードはきちんとした試験が出来ていないようです。ただ、3つの種類のマクロコードをいきなりというのは慣れていないと無理です。
せめて、#1さんのコードは、それ・そのものをチェックしているのですから、それだけでも試されれば、明確に結果が分かるかと思います。
>もう少しVBAを勉強してみたいと思います。
それは、結構ですが、自分が望むことと、期待する結果が得られるのは当分の間は先のことになるのだと思っていたほうがよいです。ただ、3ヶ月我慢さえすれば、一般の回答者のVBAのレベルと同じところまではできるようになれます。(ただし、Webサイトでは、デタラメも等しい所がありますので、書籍を購入された方がよいかもしれません)
エラーチェックですから、縦計と横計の引き算の計算式などに該当するのだと思います。
例 B1: =縦計-横計 (ただし、小数点以下の数字が含まれている時は、この計算はでは、0が出ないことがあります)
同じシート内でエラーフラッグを立ったままにして、別のシートに移るよりも、条件付き書式でセルの色を替えるぐらいで十分ではないかと思います。
No.5
- 回答日時:
色が変わらないですか?
ソースコードの配置方法を説明します。
1.Worksheet_Changeの配置方法
http://www9.plala.or.jp/siouxsie/excel/date06.html
を参照してください。
そして、Sheet1、Sheet2....のすべてのシートに貼り付けてください。
2.DoCheckGosaの配置方法
ご存じだと思いますが、念のため
http://officetanaka.net/excel/vba/beginner/10.htm
の通りに、標準モジュールを追加し、関数を貼り付けてください。
No.4
- 回答日時:
No.1です。
>やってみましたがシート見出しの色は変わらず・・・
前回投稿した方法はご自身でマクロを実行する方法です。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
前回のコードをコピー&ペーストし、マクロを実行する場合は
Alt+F8キー → マクロ → マクロ実行です。
※ C1セルが「1」になった時点でシート見出しの色を変えたい!という場合は
他の方が回答されているようにシートモジュールで
Changeイベント(今回は再計算された時点でマクロ実行)の方法にしなければなりません。m(_ _)m
No.3
- 回答日時:
>C1のセルが"1"になった
一応、数値の1という扱いにさせていただきます。
Calculation イベントが働けば、起動するはずです。
つまり、C1の数式をなしにしても、変化しません。
C1に数式があって、計算がされた場合のみです。
C1に手動で書き換えても変化しません。
B1が0にならないといけません。
=IF(B1=0,0,1)
'//ThisWorkbook モジュール(ここ1つだけで良いです)
'//除外が必要な場合は、If Sh.Name <>"abc" Then Exit Sub と最初に加えてください。
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Sh.Range("C1").Value2 = 1 Then
Sh.Tab.ColorIndex = 3
Else
Sh.Tab.ColorIndex = xlColorIndexNone
End If
End Sub
ご回答ありがとうございました。やってみましたがシート見出しの色は変わらず、私がVBAをよく理解していないので、どこが間違っているのかもわからない状態です・・・
もう少しVBAを勉強してみたいと思います。
ありがとうございました。
No.2
- 回答日時:
以下の感じでいかがでしょうか。
各シートに以下の関数を追加
=======================
Private Sub Worksheet_Change(ByVal Target As Range)
Call DoCheckGosa(Target.Parent, Target)
End Sub
=======================
そして、標準モジュールに、以下の関数を追加
=============
Public Sub DoCheckGosa(sht As Worksheet, rng As Range)
'B1の数字が主導で変わった場合ののみ、C1をチェックするようにしている
'もし、B1も数式で、自動的に変わる場合、下のrow,columnの比較を外しても大丈夫です。
If (rng.Row = 1) And (rng.Column = 2) Then
If sht.Range("C1").Text = 1 Then
sht.Tab.ColorIndex = 3
Else
sht.Tab.ColorIndex = xlNone
End If
End If
End Sub
ご回答ありがとうございました。やってみましたがシート見出しの色は変わらず、私がVBAをよく理解していないので、どこが間違っているのかもわからない状態です・・・
もう少しVBAを勉強してみたいと思います。
ありがとうございました。
No.1
- 回答日時:
こんばんは!
標準モジュールです。
Sub Sample1()
Dim k As Long
For k = 1 To Worksheets.Count
With Worksheets(k)
If .Range("C1") = 1 Then
.Tab.ColorIndex = 3
Else
.Tab.ColorIndex = xlNone
End If
End With
Next k
End Sub
こんな感じではどうでしょうか?m(_ _)m
ご回答ありがとうございました。やってみましたがシート見出しの色は変わらず、私がVBAをよく理解していないので、どこが間違っているのかもわからない状態です・・・
もう少しVBAを勉強してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
【マクロ】【相談】Excelブック...
-
【 Excel】シートの見出しに自...
-
エクセルのVBAで集計をしたい
-
マクロを特定の複数シートで実...
-
【Excel】複数あるシート上の住...
-
Excelのマクロの呼び出し元を知...
-
マクロを複数シートに実行する...
-
エクセルで回数をカウントする...
-
エクセルでセルの値をクランプ...
-
エクセルを開いたとき常に同じ...
-
エクセルでシートの並び替えで...
-
エクセルを閉じる際に自動保存...
-
エクセル ヘッダー(フッター)...
-
エクセル シート保護をかける...
-
エクセルファイルのシート毎の容量
-
excelの不要な行の削除ができな...
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
エクセルを共有するとPCによっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
エクセルのVBAで集計をしたい
-
【 Excel】シートの見出しに自...
-
【マクロ】【相談】Excelブック...
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
EXCELのエラー
-
Excelのマクロの呼び出し元を知...
-
VBAで条件によってシート見出し...
-
マクロを特定の複数シートで実...
-
VBA シート名を先月の名前に...
-
EXCELでマクロを使わずに図形の...
-
エクセルのチェックボックス
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
EXCELでワークシートを開いたら...
-
エクセルで複数のSheetを一括フ...
-
エクセルで、マクロボタンの表...
-
ExcelのSheetに作られたMacro1...
-
エクセル・複数のシートを一度...
おすすめ情報