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

エクセルVBAについて質問です。以下のようなマクロを作ってください。
?A列○△×のいずれかの文字列があります。
?A列において、
○ならB列に「丸」
△ならB列に「三角」
×ならB列に「ばつ」とそれぞれ入力します。
ただしこの作業はA列が空白となった時点で終了。
?上記の作業をブック全体(全てのシート)で作業を行う。
以下のページに図を作っておきました。参考にしてください。
http://hatena88.web.fc2.com/newpage2.shtml
よろしくお願いします。

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

▽最新の回答へ

1 ● zuguimo
●50ポイント

まだ、初心者ですが勉強に作ってみました。

こちらの環境では動きましたので、一応答えます。

×(バツ)とX(エックス)間違えると動かないです。

ダミーのURLです。http://q.hatena.ne.jp/1158088340


Sub 変換()

'

' Macro1 Macro

'

Dim s, d As Integer

シート数 = Worksheets.Count

For s = 1 To シート数

Sheets(s).Select

データ数 = Application.WorksheetFunction.CountA(Range("A:A"))

For d = 1 To データ数

Select Case Range("A" & d).Value

Case Is = "○"

Range("b" & d).Value = "丸"

Case Is = "△"

Range("b" & d).Value = "三角"

Case Is = "×"

Range("b" & d).Value = "ばつ"

End Select

Next d

Next s

End Sub

◎質問者からの返答

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

さっそく試してみます。


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

これぐらいでしたら ワークシート関数だけでもできますね。

マクロだと以下のとおりでいいでしょう。


Sub Macro1()

'

' Macro1 Macro

'

' Keyboard Shortcut: Ctrl+q

'

For a = 1 To 65536

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

If Range("A" & a) = "○" Then Range("B" & a) = "丸"

If Range("A" & a) = "△" Then Range("B" & a) = "三角"

If Range("A" & a) = "×" Then Range("B" & a) = "ばつ"

Next a

End Sub



http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_070_10.html

◎質問者からの返答

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

ああ関数でできるんですね。その方が良かったかな。ちょっと質問の仕方間違えましたね。

関連質問


●質問をもっと探す●



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