• ベストアンサー

表計算ソフトでこのような事できますでしょうか

表計算ソフトでこのような事できますでしょうか Alt+0128とワードパッド等にタイプするとユーロの通貨記号が出てくると思います。 このようにAlt+数字で文字が表示されます。それでエクセルなどで 下のような感じでAlt+0100からAlt+1000まで一度に表示させたいのですが、 どうすれば出来るでしょうか。全て手入力は手間がかかります… |A  |B  |C --------------- 1|0131|?  | --------------- 2|0132|?   | --------------- 3|0133|… |

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

Excel2002のヘルプには記載されていたと思います。 確認した事がありましたが、結果が出なかった機能です。 Excel2007では結果が得られました。 CHAR関数で文字コードを文字に変換できます。 残念ながらUnicode仕様ではない様です。 VBAではどうでしょうか。 A1以下に文字コードがあると仮定しています。 実行するとB列に文字を書き出します。 WindowsXpで、Excel2002とかならUnicodeに対応しているので表示されると思います。 もちろんフォントの問題もあります。 Dim myRng As Range Dim c As Range Set myRng = Range("A1", Range("A" & Rows.Count).End(xlUp)) For Each c In myRng c.Offset(, 1).Value = ChrW("&H" & WorksheetFunction.Dec2Hex(c.Value)) Next

その他の回答 (6)

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.7

えーと、何から説明したものか迷いますが、ちょっとお付き合いください。 1) ALT+数字で入力できる文字はWord及びWordpadとその他の一般ソフトで異なります。 また、OSの言語によっても異なります。 一般ソフトでは、その言語固有の文字コードの文字が出ます。日本語であればShift_JIS(の亜種)、英語であればLatin-1(の亜種)及びMicrosoftCodePage437です。ただしShift_JISで文字がない場所ではLatin-1が出ます。 一方、Word(pad)では日本語ではLatin-1の亜種及びUnicodeの文字が出ます。英語は知りません。 2) 英語の一般ソフトと日本語のWord(pad)での2種類の文字コードの使い分けは頭に0を付けるか否かです。 Latin-1やCodePage437の文字コードは256番までしかありませんので、これで区別できます。 256までの数字に0を付ければLatin-1、0を付けないか257以上の数字ならLatin-1でないコードです。 3) 本来のLatin-1の文字コードはUnicodeの256番までと同一です。 しかしWindowsで使われているものはLatin-1の亜種でWindows-1252と呼ばれるものです。 これはLatin-1では普通の文字として使えなかった128~159の範囲に様々な文字を入れたものです。 4) char関数は恐らく、その言語固有の文字コードを参照し、Alt+数字の場合と違って文字のないコードではWindows-1252にせず空白にします。 というわけで、 多分あなたの求める表は http://en.wikipedia.org/wiki/Windows-1252http://ja.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_0000-0FFF を繋ぎ合わせればできます。ただし2つ目は16進数で書かれているので10進に直してください。 No3さんの方法でも128~159以外は作れるでしょう。

sutoriti81
質問者

お礼

長文おつかれです。すごい知識量ですね。 自分が入力してたのはWindows-1252というものだったのですか。 おおその二つの表から求めたい表は作れますね。 No3さんの方法でも最初以外は問題なく作れました!

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.6

回答番号:No.3に追記です。 マクロの実行結果を確認しました。 0128 のところでユーロ記号に変換されていませんでした。 ユーロ記号の文字コードは、 Unicode:0x20AC ですから、10進数に変換すると 8364 になりますから当然の結果だと思います。 役に立たなかった様です。 目的が解れば違った回答が考えられるかも知れません。

sutoriti81
質問者

お礼

CHAR関数のようにできたら理想的なんですけどね。 0128は文字コードではないんでしたね・・・8364でも表示されますね。 忘れてましたがAlt+コードはAltを押しながらテンキーで数値を入力する必要があります。 目的はソフトの練習も兼ねてAlt+0100~1000までで作られる文字の表を作ることです。 すべてのコードのUnicodeがわかればいいですかね…

  • sasamo8
  • ベストアンサー率30% (29/94)
回答No.5
sutoriti81
質問者

お礼

おおそうですね。ですが網羅性がもっとほしいです。

  • sasamo8
  • ベストアンサー率30% (29/94)
回答No.4

http://translate.google.co.jp/translate?hl=ja&langpair=en%7Cja&u=http://www.alt-codes.net/ 少し文字が違いますが こういうことですよね。

sutoriti81
質問者

お礼

うーん入力する文字は4桁になります・・・

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

Alt+0128とワードパッド等にタイプしても、私のパソコンでは出てこないのですが...。 キーボードやパソコンによって異なるので、ちょっと無理なのではないでしょうか。

sutoriti81
質問者

補足

画像を添付するべきでしたね。これは手入力したものですが、こんな感じにしたいです。 http://www.dotup.org/uploda/www.dotup.org662762.jpg Alt キー コードと言われています。Unicodeが使えれば出来るのと思うのですが・・・ フォントが問題化も知れません。$JSゴシックではどうでしょうか。私はwindowsXPです。 因みに質問の二つの?は実際に表示される文字ではありません。

  • sasamo8
  • ベストアンサー率30% (29/94)
回答No.1

すみません。質問の意味がよく分かりませんが。 セルに上から順に 1 2 と書きますよね。 書いたセルを上から下にドラックさせると、1 2 と書いたセルを選択できます(セルが青くなる) 手を離して選択したセルの右下にカーソルを合わせると+が出ますのでドラックしたまま下へ移動させると続きの 3、4、5、6、7となります。横に書くのも同じ方法で出来ますが。 これと違いますか? 初歩的な事ですが。 違っていたらごめんなさい。

sutoriti81
質問者

補足

画像を添付するべきでしたね。これは手入力したものですが、こんな感じにしたいです。 http://www.dotup.org/uploda/www.dotup.org662762.jpg 単純に数字を順番に増やしたいわけではないです。上の画像を例としてプログラム的に説明すると、 yを行数として、(縦の数字です) Ayに含まれる値を「"Alt+Ay"と入力して表示される文字」をByに表示させる。 わかりにくいですが、こんな感じです。 マクロを使えばなんとかできそうだなと思ったんですけど・・・