プロが教えるわが家の防犯対策術!

エクセルのある列の下に 例えば人の名前がずらっと並んでいたとして○○様、△△様、・・・
この人は 北海道出身、この人は東北出身、この人は東京出身、この人は九州出身として
北)○○様、九)△△様と・・・ 北)、九)・・・などの文字をマクロボタンを作って マウスが指示した同じセル内の左側にそれらの文字を添付するにはどうすればいいか? またそれを除去するにはどうすればいいか。その都度その都度記入したり除去したりすることの簡便化で

A 回答 (3件)

その簡便化のために面倒なことをしなければならないのだけど…。


自分でできないから他人に代わりに作ってと言うのは、問題の解決ではないと思うんだ。
目の前にある問題の先送りにしかならないですよ。
理解できて初めて問題は解決に至るのです。
他人に肩代わりしてもらう事では「疑問」は解決しないということです。

ええ、問題解決のためのサイトではなく、疑問を解決するためのサイトなんです。ここは。

・・・
作業用のセルを作って、
 北海道:1
 東北 :2
 関東 :3
 信越 :4
 東海 :5
 北陸 :6
 近畿 :7
 中国 :8
 四国 :9
 九州 :0
 削除 :(空欄)
のように対応する数字を入力して、その数字を文字に直したものと、対象のセルの文字を繋いで表示するセルに「関数式」を作ればいいと思います。

その作り方を教えてという事であれば、作るうえで何が分からないのかを示しましょう。
「疑問」を解決するために必要な事です。
    • good
    • 1

こんにちは



入力等の作業を簡単にしたいのだと想像しますが・・・

名前の左側に一列挿入して、その列に入力規則で出身地リストを設定しておけば済むことのように思います。
それなら、きちんと全部の文字を入れられるので、ご質問文のように、北)とか東)などと省略しえt、北海道なのか北陸なのか東北なのか東京なのかよくわからないといったようなことも起きません。

>などの文字をマクロボタンを作って マウスが指示した同じ
>セル内の左側にそれらの文字を添付するにはどうすればいいか?
マクロで可能だとは思いますけれど、どのような操作でどのような結果にしたいのかを適切に説明できないと、誰にもマクロの作成は不可能でしょう。
ボタンを押したら、『「東)」を入力したいと思ってセルをクリックすると東)を先頭に追加してくれる』マクロ、みたいなのは現段階の技術ではまだ無理ですね。(人間の意図を察することはできないので)
操作をきちんと書いてみれば、それほど簡便でもないものになりそうな気がしますけれど・・
(普通に一か所入力しておいてコピペをCtr+Vで行うことを考えれば、ほぼ1アクションで済むので、これ以上に簡便なのってなかなか難しい。)
    • good
    • 0

実用的ではないのですが、原理的にはこんな感じでしょうか?


添付画像のC:D列のように、名前と出身地の対応表が必要となります。
セルをダブルクリックすると出身地を検索して、書式のユーザ設定で「"北")@」みたいに設定します(出身地が見つからない場合は、「?)」としてみました)。
また、すでに書式が設定されている場合は、「標準」に戻します。
ちなみに、このVBAは、全てのセルのダブルクリックに適用されます。名前ではないセルをダブルクリックしても書式を設定してしまうので範囲制限を組み込むか、もしくは、マクロボタンで起動するように改良してください。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sanchi As Variant
If Target.NumberFormatLocal = "G/標準" Then
On Error Resume Next
sanchi = """?)"""
sanchi = WorksheetFunction.VLookup(Target.Value, Range("C:D"), 2, False)
Target.NumberFormatLocal = sanchi & "@"
Else
Target.NumberFormatLocal = "G/標準"
End If
Cancel = True
End Sub
「エクセルの同一セル内の文字の添付と除去」の回答画像3
    • good
    • 0

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