アプリ版:「スタンプのみでお礼する」機能のリリースについて

例ですがエクセルのセルA1~A10にそれぞれ1~8の数字が入っている場合1は赤、2は青などに変換したいのですが可能でしょうか?
  A
1 3
2 1
3 5
4 8
5 1
6 2
7 4
8 6
9 7
10 1

上記の場合

  A
1 黄
2 赤
3 緑
4 紫
5 赤
6 青
7 黒
8 白
9 金
10 赤

と言う風に変換したいのですがどのようにしたらよろしいでしょうか?

A 回答 (3件)

こんなんどうでしょ?



Sub change_word()
cword = Array("赤", "青", "黄", "黒", "緑", "白", "金", "紫")
oColumn = Selection.Column
oRow = Selection.Row
owidth = Selection.Columns.Count
ohight = Selection.Rows.Count
For i = 0 To owidth - 1
For j = 0 To ohight - 1
If IsNumeric(Cells(j + oRow, i + oColumn)) And Cells(j + oRow, i + oColumn) <> "" Then
Cells(j + oRow, i + oColumn) = cword(Cells(j + oRow, i + oColumn) - 1)
End If
Next j
Next i
End Sub

ツール(T)→マクロ(M)→Visual Basic Editor(V)
でMicrosoft Visual Basicを開きます。
そして、プロジェクトというウインドウにSheetが縦に並んでいると思いますので、どれでもいいのでダブルクリックしてください。
すると、そのSheetのコードを記述するウインドウがでますので、上のコードをコピー&ペーストしてください。
終わったらMicrosoft Visual Basicを閉じて、Excelのウインドウに戻ります。
あとは、置換をしたいセルを範囲選択してから
ツール(T)→マクロ(M)→マクロ(M)
で、Sheet○_change_wordをダブルクリックすれば置き換えが実行されます。
なお、コード中の
cword = Array("赤", "青", "黄", "黒", "緑", "白", "金", "紫")
部分を改造すれば、数字と置換される文字列を変更できます。
    • good
    • 0
この回答へのお礼

試してみたらできました。ありがとうございます。マクロの勉強にもなります。本当にありがとうございますm(__)m

お礼日時:2007/10/24 23:28

1.セル B1 に次式を入力して、此れを下方にズズーッと複写


  =CHOOSE(A1,"赤","青","黄","黒","緑","白","金","紫")
2.B列全体を選択して、[コピー]→[値の貼り付け]を実行
3.A列を削除
    • good
    • 0
この回答へのお礼

試してみたらできました。マクロ以外にもこんなやり方があったのですね。勉強不足でした。ありがとうございます。大変助かりましたm(__)m

お礼日時:2007/10/24 23:29

エクセルの機能として複数条件を一発で置換することは


不可能です。
マクロを組めば一発です。

この回答への補足

さっそくの回答ありがとうございます。マクロですか…。まだ勉強不足で組むことができません。ですがこういうのはマクロなんですね。ありがとうございます。それだけわかっただけでも収穫です。マクロ勉強してみます。ありがとうございますm(__)m

補足日時:2007/10/24 22:22
    • good
    • 0

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