エクセルVBA、関数について質問です。下記のページに書かれているような動作を行うマクロまたは関数を作ってください。よろしくお願いします。

http://hatena88.web.fc2.com/newpage2.shtml

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/09/13 11:04:25
  • 終了:2006/09/13 11:36:02

回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/09/13 11:20:50

ポイント50pt

Sub Macro2()

'

' Macro2 Macro

'

' Keyboard Shortcut: Ctrl+q

'

For a = 1 To Worksheets.Count

For b = 1 To 65536

Debug.Print a, b, Sheets(a).Range("A" & b)

If Sheets(a).Range("A" & b) = "" Then Exit For

If Sheets(a).Range("A" & b) = "○" Then Sheets(a).Range("A" & b) = "丸"

If Sheets(a).Range("A" & b) = "△" Then Sheets(a).Range("A" & b) = "三角"

If Sheets(a).Range("A" & b) = "×" Then Sheets(a).Range("A" & b) = "ばつ"

Next b

Next a

End Sub

○ならB列に「丸」

△ならB列に「三角」

×ならB列に「ばつ」とそれぞれ置換します。

とありましたが、絵が A列なので A列にセットしました。

もし B列ならば

Range("A" & b) = "丸"

というのを

Range("B" & b) = "丸"

にすればいいです。


http://q.hatena.ne.jp/1158113063

id:taroemon

ご回答ありがとうございました。

確かにA列とB列間違えてますね。失礼しました。

2006/09/13 11:32:51
id:rikuzai No.2

りくっち回答回数1366ベストアンサー獲得回数1412006/09/13 11:21:35

ポイント50pt

恐らくVBA版は出ていると思うので関数版で(*^-^*)

(ただしこういう一括作業はマクロ向きです)


1.全てのシートを選択して、作業グループにします。

(shiftキーを押しながら左端のシートタブと右端のシートタブの順にクリックすれば選択されます)

2.アクティブになっているシートのB1に以下の式を記入します。

=IF(A1="○","丸",IF(A1="×","バツ",IF(A1="△","三角","")))

3.B1セルをコピーし、B列を列選択、右クリックで貼り付けをすると、B列全てに先ほどの数式が記入されます。

4.シートタブの上で右クリックし、「作業グループを解除」します。

5.アクティブのシートのB列を列選択し、コピー、そのまま右クリックをして「形式を選択して貼り付け」→「値」を選んでOKします。これで数式が消え、変換された値だけが貼り付きます。

6.残りのシートも同じように5.を繰り返します。

7.再びシートを全選択してA列を選択し、そのまま右クリックで「削除」します。


以上で終了です。


文面だけだとかなり面倒な感じですが、

一度覚えると色々応用がきく方法なので一度試してみてくださいね。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/if_is.htm

id:taroemon

ご回答ありがとうございます。

大変参考になりました。

2006/09/13 11:33:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません