
No.5ベストアンサー
- 回答日時:
こんにちは
>自動で同じ数字別に色分けされたいです。
他の方の回答にあるように「条件付き書式」でできますが、色って似た色がいろいろあるので、どの順番でどういう色にするかとか、事前に何色の種類を用意しておくかなどといった問題があります。
この問題に関しては、どのような方法をとるにしても、付いてくるものと言えます。
それを了解の上でなら・・・
対象シートの、「シートモジュール」に以下のマクロをコピペすれば、実現可能と思います。
※ 色に関しては、エクセルのColorIndexのカラーパレットから適当に20色を選定してあります。
(もしもパレットを変更なさっている場合は、その色が採用されます)
※ ナンバーの種類が設定の色数を超えた場合は、最初に戻って同じ色を使用します。
※ 色数を増減したり色を変えたい場合は、5行目のiColorの設定を変えることで可能です。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dic, iColor, c, txt, cIndex, tIndex
If Intersect(Columns(1), Target) Is Nothing Then Exit Sub
iColor = Array(4, 6, 7, 8, 17, 19, 20, 22, 24, 33, _
35, 37, 38, 39, 40, 43, 44, 45, 46, 50)
Columns(1).Interior.Color = xlNone
Set dic = CreateObject("Scripting.Dictionary")
cIndex = 0
For Each c In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
txt = c.Text
If txt <> "" And c.Row > 1 Then
If dic.exists(txt) Then
tIndex = dic(txt)
Else
tIndex = cIndex
cIndex = (cIndex + 1) Mod (UBound(iColor) + 1)
dic.Add txt, tIndex
End If
c.Interior.ColorIndex = iColor(tIndex)
End If
Next c
End Sub
No.4
- 回答日時:
ちょっと手間がかかりますが、条件付き書式 でできると思います。
1)A1~A13を範囲選択
2)条件付き書式→新しいルール→数式を使用して、書式設定するセルを決定
3)次の数式を満たす・・・ の欄に =$A1="101-22222222"
4)プレビューの[書式]をクリックし、塗りつぶしタブ で背景色に紫を選択 [OK]→[OK]
5)条件付き書式→ルールの管理→新規ルール→数式を使用して、書式設定するセルを決定
6)3)~4)と同様に101-33333333のときに赤を選択
7)5)~6)を101-44444444で黄色 101-55555555で青 に設定

chiune様、ご回答ありがとうございます。
私の説明不足ですみません。
この数字は毎回変わるもので、その都度同じ値を検索して自動的に同じ値が同じ色に変わるようにしたかったんです(>人<;)
お忙しい中、ご回答ありがとうございました!!
No.3
- 回答日時:
VBAの回答を待つしかないねー。
質問が古くなったら、締め切って再投稿だねー。
No.2
- 回答日時:
すると、こうなる。
色を増やしたければカラーコード0〜3を増やせばいい。
Andro様、丁寧なご説明ありがとうございました。Googleドライブは何か、というレベルだったので、先程調べてみました。
そんな便利な機能があるんですね。しかしながら会社でそういう類の機能を禁止されている為、今回の方法では難しいかもしれません。の人的なことならいいかもしれないんですが。。。
今使用しているこの共有ファイル上でエクセル関数など使ってできる方法であれば問題ないと思うのですが。。。
教えて頂いた内容は、また別の機会に使わせていただきます。勉強になりました!
ありがとうございます!
No.1
- 回答日時:
1. Google ドライブ を開き、[新規][Google スプレッドシート]を選択するとスプレッドシートが開く。
2. 質問通りの文言をシートに入力する。
3. スプレッドシートの[ツール][スクリプトエディタ]を選択すると「無題のプロジェクト」が開く。
4. 入力済みの文字を削除して、以下のスクリプトをコピー、[保存]する。
// 同じナンバーのセルに同じ色を付ける
function myFunction() {
// スプレッドシートを取得する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();// Container Bound Script
var sheet = spreadsheet.getSheets()[0];// シート数を指定して取得
var lastRow = sheet.getLastRow();// 最終行
sheet.clearFormats();
// ナンバー列を読み込む
var deleteNum = [];
var designTable = sheet.getRange(2, 1, lastRow-1, 1).getValues();
// 同一ナンバーを検索する
for (var i=0; i < designTable.length-1; i++) {
for (var j=i+1; j < designTable.length; j++) {
//Logger.log(i +':'+ designTable[i][0] +' vs ' + j +':'+ designTable[j][0]);
// 削除ナンバー(行)を整理する
if (designTable[i][0]==designTable[j][0]) {
for (var x=0; x <= deleteNum.length; x++) {
if (deleteNum[x]==i) {
break;
}
}
if (x>deleteNum.length) { deleteNum.push(i); }
}
}
}
// 同一ナンバーを削除する
for(var i=0; i < deleteNum.length; i++){
designTable.splice(deleteNum[i]-i, 1);
}
// 背景色をつける
var table = sheet.getRange(2, 1, lastRow-1, 1).getValues();
for (var i=0; i < table.length; i++) {
for (var j=0; j < designTable.length; j++) {
if (table[i][0]==designTable[j]) {
sheet.getRange(i+2, 1).setBackground(getColor(j));// 背景色:4色まで
}
}
}
}
// カラーテーブルから色を取得する(4色まで)
function getColor(number) {
var colortable = [
[0, '#ffff00'],// 黄
[1, '#ff0000'],// 赤
[2, '#00ffff'],// シアン
[3, '#9900ff'],// 紫
];
for (var i=0; i < colortable.length; i++) {
if (number==colortable[i][0]) {
return colortable[i][1];
}
}
return '#ffffff';
}
5. ツールバーから[myFunction]を選んで[▷実行]を押下する。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
先着1,000名様に1,000円分もらえる!
教えて!gooから感謝をこめて電子書籍1,000円分プレゼント
-
Excel で合計を一発で計算したい
Excel(エクセル)
-
エクセルについて教えて下さい
Excel(エクセル)
-
Excel関数 足し算
Excel(エクセル)
-
4
第何週かもとめる式
Excel(エクセル)
-
5
エクセル2016 文字数のカウント 最大値の表示 について教えて下さい。
Excel(エクセル)
-
6
Excelで数字だけを集計したい
Excel(エクセル)
-
7
EXCELの関数について
Excel(エクセル)
-
8
エクセル初心者
Excel(エクセル)
-
9
エクセルで少し複雑な当番表を作成したい。
Excel(エクセル)
-
10
教えて下さい エクセルの関数を教えて下さい A行は名字で同じ名字は家族です B行は 名義人は1、同居
Excel(エクセル)
-
11
エクセル 週の合計計算
Excel(エクセル)
-
12
Excelの関数について教えてください。 A1セルが〇なら、D1セルに 「いちにさん、なみ→しば で
Excel(エクセル)
-
13
エクセルに関する質問です。 下記の表の様に、縦 横 高さ 個数をデータで纏めているのですが、同じサイ
Excel(エクセル)
-
14
エクセルでのデータの消去方法を教えてください
Excel(エクセル)
-
15
セル選択がわからない
Excel(エクセル)
-
16
エクセル 時刻のシリアル値を自動判別し文字を付加
Excel(エクセル)
-
17
IFS関数の条件について
Excel(エクセル)
-
18
エクセル 検索関数
Excel(エクセル)
-
19
関数について質問です。 1回目の質問に対して、伝え方が悪かったので、再質問させて頂きます。 写真の場
Excel(エクセル)
-
20
excel 名前付きセルの名前(セルに定義した名前)数式で表示するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
精液の落とし方を教えてください
-
5
顎下の左右にグリグリとしたし...
-
6
口の中に黒い血の塊
-
7
健否~書類の書き方~
-
8
お酒を飲んだときの寒さ
-
9
舌の裏の痛みのないプツプツの...
-
10
この赤い斑点は何でしょうか。 ...
-
11
テスターで断線を調べる方法教...
-
12
油ものを食べると吐き気がします
-
13
精液が漂白剤のにおいがする・・・
-
14
納豆食べた後の尿の納豆臭は何故?
-
15
これって喉仏ですか? 私は女性...
-
16
値が入っているときだけ計算結...
-
17
エクセル指定した範囲からラン...
-
18
右手の人差し指だけが冷たい
-
19
爪が紫色?
-
20
運動すると食欲がなくなる理由は?
おすすめ情報