人に聞けない痔の悩み、これでスッキリ >>

本質問に御対応頂き、ありがとうございます。
エクセル2003で、選択したセルの列と行の全てのセルがハイライト(選択しているよ)させる設定はありますでしょうか?(A,B,C,・・・、1,2,3,・・・、だけではなく)
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

一案ですが、シートのタブ右クリック、


VBエディターが起動したら
Private Sub worksheet_selectionchange(ByVal Target As Excel.Range)
Application.EnableEvents = False
With Target
Range(.EntireColumn.Address & "," & .EntireRow.Address).Select
.Activate
End With
Application.EnableEvents = True
End Sub
をコピィして、閉じてみてください。
    • good
    • 0
この回答へのお礼

皆様
ご回答、ありがとうございました。
色んなやり方があるんですね。
素人の下名には、ちと難しいのですが、
ご指導通り、できました。
又、御教示願います。

お礼日時:2010/03/17 08:37

こんばんは!


↓のURLは参考にならないでしょうか?

http://written.4403.biz/archives/2008/07/excel-h …
    • good
    • 0
この回答へのお礼

皆様
ご回答、ありがとうございました。
色んなやり方があるんですね。
素人の下名には、ちと難しいのですが、
ご指導通り、できました。
又、御教示願います。

お礼日時:2010/03/17 08:38

http://okwave.jp/qa/q4029237.html
のNo.3がお勧めです。
    • good
    • 0
この回答へのお礼

皆様
ご回答、ありがとうございました。
色んなやり方があるんですね。
素人の下名には、ちと難しいのですが、
ご指導通り、できました。
又、御教示願います。

お礼日時:2010/03/17 08:38

マクロを有効にしてエクセルを再起動し


表範囲に条件付き書式で
数式が =OR(CELL("ROW")=ROW(),CELL("COL")=COLUMN())
と設定してパターンで色を付け

シート名タブを右クリックしてコードの表示を選び
現れたシートに

private sub worksheet_selectionchange(byVal Target as Excel.range)
application.screenupdating = true
end sub

といマクロを登録する。



#幾つかの方法が提案されてきましたが,上述が現状一番クールだと結論されています。
    • good
    • 0
この回答へのお礼

皆様
ご回答、ありがとうございました。
色んなやり方があるんですね。
素人の下名には、ちと難しいのですが、
ご指導通り、できました。
又、御教示願います。

お礼日時:2010/03/17 08:37

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelでセルを選択したら行と列に色がつくなんていう方法?

いつもお世話になっております。
Excelで質問です。
現在A3の用紙に細かいセルでたくさんの行と列を作り、データを入れていっています。
真中の方のセルになると、行と列の文字が太字にはなっているんですが分かりにくくてしょうがありません。
セルを選択したら縦横に色がつくなど分かりやすくする方法はありませんか?
分かりにくい文章で申し訳ありません。
よろしくお願いします。

Aベストアンサー

下記リンク参照
http://officetanaka.net/excel/function/tips/tips19.htm

列を丸ごとかえるならVBAでやらなければなりませんが、結構めんどうです。

Qアクティブセルで、縦と横の列に色をつけるのは?

質問の意味あいがわからないと思いますが、たとえば、アクティヴセルが
E4だとしたとき、E列と4の行をすべて色をつけたい。
どのようにしたらいいでしょうか?
さらには、アクティブセルが移動するごと(入力セルを移動する)に、
上記で設定した色のまま、色がついた列と行を、移動させるためには、
どうしたらいいのでしょうか?

VBAあるいはマクロなど方法があれば教えてください。

ただし、Exel2007です。

Aベストアンサー

ThisWorkbookのイベントでやると、どのシートでも実現できる。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Cells.Interior.ColorIndex = xlNone
Dim i, j As Long
i = Target.Row
j = Target.Column
Rows(i).Interior.ColorIndex = 6
Columns(j).Interior.ColorIndex = 6
End Sub
既存の他セルの色設定も消えてしまう。
直前の列と行に限るコードは組めるが、それでも解決にならない。
反応性もパソコンによってはもうひとつの場合もあろう。
だからVBAでのユーザーのセルの色設定では力不足でしょう。
だから、とりあえずあきらめてください。

Qアクティブなセルを色つき表示させる

お世話になります。
エクセル表にて矢印キーやエンターを押すとカーソルが
セルを移動しますよね。
移動先のセルが黄色になって、移動元のセルはまた透明となる。
いまどこのセルにカーソルがあるか黄色で示すなど、
見やすくする方法はありますか。

Aベストアンサー

マクロと条件付き書式を併用することで実現は可能です

まずシート名右クリック→「コードの表示」で開く画面に以下の3行を貼り付けます。A1にアクティブセルのアドレスを書き込みますがA1は使用中なら、任意のセルに変えてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1") = Target.Address
End Sub

表示されるアドレスが目障りでしょうからシート上の文字色は「白色」にすると良いと思います

次にシートに戻り「書式」→「条件付き書式」を選びます
「セルの値が」は「数式が」に変更して、式には選択しているセルがB1だとして、
=CELL("address",B1)=$A$1
と入力します。そして書式で色を設定します。

B1をコピーして他のセルに「編集」→「形式を選択して貼り付け」→「書式」で貼り付けると、条件付き書式を設定したセルを選択すると色が変わるようになります。

Q【Excel】 カーソルの縦横ラインに色などを付けて視認性を高めたい

Excelについて質問です。

表現が難しいのですが、
カーソルの縦と横のラインに色を付けるなどして、
カーソルのいる行がすぐにわかるようにしたいのですが、
何か設定やフリーソフトなどないでしょうか?

よく表を比べることがあるのですが、
行を間違えたりしやすく
ラインがはっきり分かると非常に助かるのですが。

どうぞよろしくお願いいたします。

添付はイメージです。

Aベストアンサー

人様の回答ですが(自分の回答は0点...)
http://okwave.jp/qa4029237.html
の、No.3がお勧めです。

Qエクセルで特定の文字(複数あり)をハイライトしたい

エクセルで、一定の範囲(D2:D900)にある特定の文字だけをハイライト(青)に変えたいのですが、
可能でしょうか?

特定の文字は5つほどあります。
・従業員
・人手
・人
・女
・スタッフ

よろしくお願いいたします!

Aベストアンサー

文字列だけとなるとマクロ(VBA)ですね。
一例です。
対象シートのシートタブ上で右クリック→コードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下、sample実行

Sub sample()
Dim re, mc, m, r As Range, endp As String
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "従業員|人手|人|女|スタッフ"
Set r = Range("D2:D900").Find("*")
If r Is Nothing Then End
endp = r.Address
Do
Set mc = re.Execute(r)
For Each m In mc
r.Characters _
(m.FirstIndex + 1, m.Length).Font.ColorIndex = 8
Next
Set r = Range("d2:d900").FindNext(r)
Loop Until r.Address = endp
Set re = Nothing
End Sub

文字列だけとなるとマクロ(VBA)ですね。
一例です。
対象シートのシートタブ上で右クリック→コードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下、sample実行

Sub sample()
Dim re, mc, m, r As Range, endp As String
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "従業員|人手|人|女|スタッフ"
Set r = Range("D2:D900").Find("*")
If r Is Nothing Then End
endp = r.Address
Do
Set mc = re.Execute(r)
For Each m In mc
r.Characters _
(m.FirstIndex + 1...続きを読む

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

Qエクセル・・色の着いたセルの個数を数える関数はある?

エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもし...続きを読む

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

Qエクセル、アクティブセルの行に色ではなく枠太線を付けたいです。

アクティブセルで色を付けることは出来ましたが
もともとのセルにはいろいろな色(解りやすくするため)がついています。
色がついている為に赤の枠太線でわかりやすくしたいです。

初心者で申し訳ございません。
何卒よろしくお願いいたします。

Aベストアンサー

こんばんは!

一例です。
前提条件として
① 各セルに罫線(枠線)の設定はしていない。 
② 罫線に関する条件付き書式の設定はしていない。
② 1行目には最終列まで・A列には最終行までデータが入っている。
(1行目で最終列・A列で最終行を取得しているため)
とします。

シートモジュールですので
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
セルを選択してみてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'この行から//
Dim lastRow As Long, lastCol As Long, c As Range, myArea As Range
lastRow = Cells(Rows.Count, "A").End(xlUp).Row '←A列で最終列を取得//
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column '←1行目で最終行を取得//
If Target(1).Row <> Target(Target.Count).Row Then
MsgBox "1行のみ選択してください"
Exit Sub
End If
Application.ScreenUpdating = False
For Each c In Range("A:A")
If c.Row > lastRow Then Exit For
If c.Borders(xlEdgeLeft).ColorIndex = 3 Then
Set myArea = c.Resize(, lastCol)
With myArea
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
End With
Exit For
End If
Next c
If Target.Row > lastRow Or Target.Column > lastCol Then Exit Sub
Set myArea = Range(Cells(Target.Row, "A"), Cells(Target.Row, lastCol))
With myArea.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 3
.Weight = xlMedium
End With
With myArea.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 3
.Weight = xlMedium
End With
With myArea.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 3
.Weight = xlMedium
End With
With myArea.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 3
.Weight = xlMedium
End With
Application.ScreenUpdating = True
End Sub 'この行まで//

※ 枠線の設定をしてある場合は
枠線を消すようにしていますので、枠線の再設定のこーどが必要になります。

まずはこの程度で・・・m(_ _)m

こんばんは!

一例です。
前提条件として
① 各セルに罫線(枠線)の設定はしていない。 
② 罫線に関する条件付き書式の設定はしていない。
② 1行目には最終列まで・A列には最終行までデータが入っている。
(1行目で最終列・A列で最終行を取得しているため)
とします。

シートモジュールですので
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
セルを選択してみてく...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?


人気Q&Aランキング