Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8976 / 13646 ツリー ←次へ | 前へ→

【30028】数字に対して色を塗る oga 05/10/18(火) 16:45 質問[未読]
【30030】Re:数字に対して色を塗る Kein 05/10/18(火) 16:59 回答[未読]
【30031】Re:数字に対して色を塗る でれすけ 05/10/18(火) 17:01 回答[未読]
【30032】Re:数字に対して色を塗る hine 05/10/18(火) 17:01 発言[未読]

【30028】数字に対して色を塗る
質問  oga  - 05/10/18(火) 16:45 -

引用なし
パスワード
   A1からA56に1〜56を記入しB列に、A列の各色番号に該当する色を塗るには、
どういうプログラムを作成すればいいですか?

【30030】Re:数字に対して色を塗る
回答  Kein  - 05/10/18(火) 16:59 -

引用なし
パスワード
   A列にはランダムに数値を入力するのでしょーか ?
もしそうであるなら、セル入力イベントが良いでしょう。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Range("A1:A56")) Is Nothing Then Exit Sub
  With Target
   If .Count > 1 Then Exit Sub
   If IsEmpty(.Value) Then Exit Sub
   If Not IsNumeric(.Value) Then Exit Sub
   If .Value < 1 Or .Value > 56 Then Exit Sub
   .Offset(, 1).Interior.ColorIndex = .Value
  End With
End Sub

あるいは、1〜56まで順に塗りつぶすのであれば、普通のマクロにして

Sub MyCol()
  Dim i As Integer

  For i = 1 To 56
   Cells(i, 2).Interior.ColorIndex = i
  Next
End Sub

ぐらいで出来ます。

【30031】Re:数字に対して色を塗る
回答  でれすけ  - 05/10/18(火) 17:01 -

引用なし
パスワード
   こんにちは。
>どういうプログラム
こういうプログラムになります。

1.変数iに1を代入する
2.Cells(i,1).Valurにiを代入する
3.Cells(i,2).Interior.ColorIndexにiを代入する
4.iに1を加える
5.1に戻る

【30032】Re:数字に対して色を塗る
発言  hine  - 05/10/18(火) 17:01 -

引用なし
パスワード
   ▼oga さん:
こんにちは

>A1からA56に1〜56を記入しB列に、A列の各色番号に該当する色を塗るには、

こんな感じですか?
マクロ記録もしてみてね
その後、ヘルプで調べれば分ると思いますよ。

Dim f As Long
With Worksheets("Sheet1")
  For f = 1 To 56
    .Range("A" & CStr(f)).Value = f
    .Range("B" & CStr(f)).Interior.ColorIndex = f
  Next
End With

8976 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free