うちンち

パソコンと家族と、ときどき爆弾。

現在選択している行の項目番号を目立たせる

2009-02-21 | エクセルおぼえがき
何を忘れるってこれを鉄板で忘れる。というか今までも何度忘れ去り作り直したことか。
というわけで、現在選択している行の項目番号を目立たせるのためにこのカテゴリを作ったといっても過言ではない。
これは、行数および列数の多いデータ入力時に、現在どの部分を入力しているかを一目でわかるようにするためである。
何百行もあるデータの入力で途中で入力場所を間違えたら確認が大変な手間となる。しかし入力位置と離れた項目番号を確認するのもなかなか面倒で。
その部分の色(フォントやセルの)を変えれば一発じゃん、ということで作って利用するようになった。

VBAを起動させ、対象シートに以下Privateからend subまでをコピーし、必要な部分は入力しなおす。

---------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'現在カーソルがある行の、特定の列のセルのフォントの色を変更する

 Dim crow As Integer '現在のセルの行番号を格納する変数
 Dim mcolumns As String '色を変更するセルの列番号を格納する変数

 crow = ActiveCell.Row '現在のセルの行番号を変数に格納
 mcolumns = "A" '色を変更したいセルのアドレスを変数に格納 ※A(仮の値)のところに色を変更したいセルの列番号を

 '色を変更させる処理ここから

 If crow > 1 Then '※見出しから上を無視するために。1のところに見出し行の行番号を

  Columns(mcolumns).Font.ColorIndex = 0 '列の色リセット
  Range(mcolumns & crow).Font.ColorIndex = 3 '対象セルのフォントの色を変える ← ちなみに赤

 End If '色変更の処理ここまで

End Sub

---------------------

ただ、これをやると選択セルを変更した時点で書式設定の変更が走り、コピーモードが解除されるので、ペーストが出来なくなるという大きな欠点があったりして・・
Officeクリップボードを表示させればコピーは出来るが、形式を選択してコピーができなくなったりして・・・
なので、特定の列にカーソルが来たときだけ色変更を走らせる、ってのがいいかも。

最新の画像もっと見る