人に聞けない痔の悩み、これでスッキリ >>

エクセルに見えない文字(JISX0211 C0,C1 制御文字?)を表示又は入力させる方法

あるQRコード(1)の内容です。

先頭から
・3ケタ 「番号」 (数字3ケタ)
・1ケタ 「識別子」 0x1E(RS)
・3ケタ 「性別」(数字1ケタ)男=1、女=2
・1ケタ 「識別子」 0x1D(GS)
・4ケタ 「年齢」(数字3ケタ)
・フッタ 0x04(EOT)
すべて固定長。数値は前にゼロ埋め。

となっています。
このQRコード(1)を読込んでエクセルのセルに挿入すると

0121032となります。

これは(番号012、性別1、年齢32)になります。
ですが識別子やフッタが表示されません。

この0121032をQR生成ソフトでQRコード(2)に変換すると
識別子やフッタがないQRコードになってしまい、
QRコード(1)と照合させると相違するQRコードと判定されてしまいます。

QR生成ソフトにはQRコードにできる文字コードとして
制御コード:0x01~0x1F
となっています。
エクセルにこれ(JISX0211 C0,C1 制御文字?)を表示させたり
手入力(文字と文字の間に挿入)させるのは無理なのでしょうか?

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

コピーやペーストで制御文字が欠落するのはよくあることです。


リーダーから直接Excelのセルに入力してたら、もしかしたら制御文
字のあるべきところに1文字分の空白が見えてたかもしれませんね。
場合によってはフォントのデザインで空白が限りなく狭い場合もあ
りますので、len関数で文字数を確認するのがいいかも。

で、確かに制御文字が欠落していて補いたい場合ですが、制御文字
は数式の中でchar関数に10進表記で値を与えて使います。たとえば
0x1Eならchar(30)、0x04ならchar(4)ですね。これで添付画像の様に
新しい文字列を生成してやってみてはいかがでしょう。
「エクセルに見えない文字(JISX0211」の回答画像1
    • good
    • 0
この回答へのお礼

char(30)、char(4)ですね。
試したら多分だと思いますができたようです。
どうもありがとうございました。

お礼日時:2010/08/27 16:59

ふつう,制御コードは表示されません。

手入力でこれで入るが,表示はされません。
="012"&CHAR(30)&"1"&CHAR(29)&"032"&CHAR(4)
数多くあるなら,VBAですね。
Sub test()
s = ActiveSheet.Range("A1").Value
s = Left("0" & s, 7)
s1 = Left(s, 3)
s2 = Mid(s, 4, 1)
s3 = Right(s, 3)
s = s1 & Chr(&H1E) & s2 & Chr(&H1D) & s3 & Chr(&H4)
ActiveSheet.Range("A1").Value = s
End Sub
のようでしょうか。
    • good
    • 0
この回答へのお礼

項目が30種類で項目ごとにGSを入れないと元のコード同様にならないみたいです。
マクロしかないですか。
ちょっと難しそうです。
どうもありがとうございました。

お礼日時:2010/08/27 16:57

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q制御文字(タブや改行)を検索・置換するには

Word(というかWindows?)初心者です。
WordやWordpad等で、制御文字(タブや改行)に対して検索・置換を掛けるにはどうすればよいのでしょうか。
これまで使っていたワープロソフトでは、検索・置換のウィンドウで、タブなら「\t」、また改行なら「\p」といった具合に入力して自由に扱えたのですが、WordやWordpad等でもこうした事が可能でしょうか。

もしもダメなら、次善の策として、そういう事が可能なフリーウェアを知りたいのですが...

Aベストアンサー

ワードで
編集-置換-置換タブ-あいまい検索のVを外す-特殊文字をクリックすると,プルダウンメニューがでて、タブやその他沢山特殊文字のメニューが出てきますから、その中からクリックして選べば、「検索する文字列」にセットされますので、それで良いと思います。

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

QExcel2007でセルに値があるはずなのに表示されない。

Excel2007を使用しています。
しばしば、セルの中身に値が入っているにも関わらず、
表示されないことがあります。(数式や文字列に関わらず)
そのような時、行や列ごと選択すると表示されるように
なります。
本当に値が入っていないのか、表示されていないのか
まぎらわしいです。
この現象は設定で解決される問題でしょうか?
それとも仕様あるいはバグでしょうか?

説明がわかりずらく申し訳ないですが、
どうかお教え下さい。よろしくお願いします。

OS:Windows XP

Aベストアンサー

おそらくバグでしょう。

私の場合、スクロールすると図形が消えたり、複数シートを選択した状態でプレビューすると、図形がまったっく表示されなかったりします。単独シートでのプレビューなら表示されるのですけどね。

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QExcelのアポストロフィーの削除

お尋ねします
AccessからExcelへデータをもってきたところ、文字データの前へ'(アポストロフィー)の記号がはいっていました。
500以上のデータがあるので、一括でこのアポストロフィーを削除する方法があれば教えていただきたいのですが…。
よろしくお願いいたします。

Aベストアンサー

#3,#5です。
一旦他のセルへ値のみ貼り付け(形式を選択して貼り付けとか右クリックでドラッグとか)、でいけます。
「他のセルへ」が必要なようです。

QExcel で見えないデータの存在

なんと表現しましょうか...
たとえば、8列40行のデータを入力したとします。
しかし印刷プレビューでは500ページもあると表示されます。
Ctrl + End でアクティブセルを移動すると、確かに13000行当たりにデータがあるフリをします。
その辺りを選択して削除するのですが、再び同じ所が最終行列だとジャンプします。
なぜこんなことが起きるのでしょうか?
いったい何が入っているのでしょう?
ファイルサイズも700KBと大きくなっております。
利用バージョンは2002ですが、98や2000でも経験しております。
本日は、何度やっても削除できなかったので質問させていただきました。
また検索しようにもしづらかったので、質問を投げてしまいました。よろしくお願いいたします。

Aベストアンサー

多分、オートシェイプのオブジェクト(図形、テキストボックス)の可能性がありますので、以下の方法で確認して下さい。

・編集→ジャンプ→セル選択→オブジェクトをチェックオン

オブジェクトが存在した場合、Delキーで一括削除して下さい。


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

人気Q&Aランキング