人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: taroemon
●カテゴリ:コンピュータ
✍キーワード:VBA エクセル マクロ 関数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●50ポイント

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

◎質問者からの返答

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

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


2 ● りくっち
●50ポイント

恐らく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

◎質問者からの返答

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

大変参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ