2024年に成し遂げたこと

エクセルで、書式設定をして表示させているものを、表示している見たままを別セルに値として表示したいです。


うまく説明ができないのですが、
「A1」に40330 と入力されていて
書式設定で、「平成22年6月1日」と表示されています。

それを、A2に文字で、平成22年6月1日と、A1の表示されてる見たまま同じものを
文字で直接入力されている状態で表示させたいのです。

値のみコピーするのとは違うし、どうしたものか困っています。

わかっていただけますか?
B1に「1」と入力してあって、書式設定で3桁表示をさせてあり見た目は「001」になっているものを
B2のセルに、数字で「001」と入力させたい。こんな感じです。

セルは仮ですので、どこのセルでもそう表示できれば構いません。
伝わりましたか?


いい方法がありましたら、教えてください。

A 回答 (4件)

A列をB列に値として入力するマクロ(VBA)は如何でしょうか。


対象のシートタブ上で右クリック→コードの表示→以下のサンプルコードを貼り付けてお試しください。

<サンプル>
Sub test()
For Each a In Range("A:A")
If a = "" Then Exit Sub
b = a.NumberFormat
c = Application.WorksheetFunction.Text(a, b)
Range("b1").Offset(a.Row - 1).NumberFormat = "@"
Range("b1").Offset(a.Row - 1) = c
Next
End Sub
    • good
    • 3
この回答へのお礼

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

VBAはさすがに奥が深いといいますか、勉強になりました。
今後も何かありましたら、ご指導ください。

お礼日時:2010/06/04 11:00

添付図参照



C2: =A2
設定する書式を左隣のセル(B2、文字列書式)に示した

D2: =TEXT(A2,B2)
書式は標準
「エクセルで、書式設定をして表示させている」の回答画像4
    • good
    • 2
この回答へのお礼

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

TEXT関数は思いつかなかったです。この手がありましたね。
で、表示されたセルを、値のみコピーすれば希望通りになります。
VBAを使わなくても、この方法ですとばっちりでした!

今後も何かありましたらご指導を宜しくお願いします。

お礼日時:2010/06/04 11:02

VBAでユーザ関数を作れば良いかと思います。



【使用方法】
 =見た目通り(A1)

【VBA】
Function 見た目通り(範囲 As Range) As String
 見た目通り = WorksheetFunction.Text(範囲.Value, 範囲.NumberFormatLocal)
End Function
    • good
    • 1
この回答へのお礼

ありがとうございました。
VBAを勉強してみるいい機会になりました。

今後も何かありましたらご指導ください。

お礼日時:2010/06/04 10:58

A2セルに =A1 ではダメなんですか?

    • good
    • 3
この回答へのお礼

直接その文字といいますか、数字等が入って欲しいのです。
回答ありがとうございました。

お礼日時:2010/06/04 10:57

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A