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

Excel 2003で、セルの表示設定でユーザー定義を設定して表示された文字を、セルの値として扱う事はできないのでしょうか。たとえば、ユーザー定義 @"さん" として、入力した文字列にすべて「さん」づけするとします。ここに「橋本」と入力すれば「橋本さん」と出てきますが、セルの値は「橋本」のままですよね。しかしなんとかして、「橋本さん」を値として扱う事はできないのでしょうか? 数百というセルを入力してしまったため手入力での修正は非常に面倒ですし、置換の方法も思いつきません。


●質問者: minorito0411
●カテゴリ:コンピュータ
✍キーワード:Excel セル ユーザー 入力 定義
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● BdashANDdead
●20ポイント

全てのセルをコピーして、右クリック、形式を選択して貼り付け→値

でいかないのでしょうか?

http://www.dougamanual.com/blog/5/178/index.html

◎質問者からの返答

すいません、その方法はもう試してみたのですが、うまくいきませんでした。やはりセルの中身が元のままです。


2 ● HALSPECIAL
●20ポイント

置換方法としては、

[形式を選択して貼付]?[値]で同じセルに貼りつけると良いです。


http://pc.nikkeibp.co.jp/pc21/tech/excel43/13/

◎質問者からの返答

すいません、その方法はもう試してみたのですが、うまくいきませんでした。やはりセルの中身が元のままです。


3 ● SALINGER
●20ポイント

セルから表示形式が適用された値を取り出す関数が思いつきませんでした。

VBAなら簡単にできるのにと思ったので、ならばユーザー定義で作ってしまえということで。


こんな関数を標準モジュールにコピペしてください。

Function SONOMAMA(r As Range) As String
 SONOMAMA = r.Text
End Function

使うときは、対象セルを引数にすれば、表示されたそのままの値を取得できます。

=SONOMAMA(A1)

数式ではなく値だけが欲しい場合は、更に上記の数式のセルをコピーして形式を選択して貼り付け→値でいいです。

直接取り出す関数がある場合は蛇足なので無視してください。


4 ● gotovip
●20ポイント

このマクロを動かしてみてください

2007ですがテスト済みです

Sub test()

Dim c As Range

Dim karistr As String

For Each c In ActiveSheet.UsedRange

karistr = c.Text

c.NumberFormatLocal = "G/標準"

c.Value = karistr

Next c

End Sub

ここを参考にさせていただきました


5 ● knight_apple
●20ポイント ベストアンサー

まずユーザ定義を全て標準に戻し、"さん"を無くします。

A列にデータが入ってるとしたら

B列に「=A1&"さん"」と入力してB列のデータをA列に値貼付け

B列を削除すると置き換えが出来ます。

もし「橋本」ではなく「橋本さん」と入力されているセルがあると

「橋本さんさん」となってしまうので"さん"をSUBSTITUTE関数かCtrl+Hで置換えて下さい。

関連質問


●質問をもっと探す●



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