• ベストアンサー

Chr関数のラインフィールド文字って?

EXCEL2000のVBAを勉強しているものです。 Chr関数のラインフィールド文字ってどんなことが できるのでしょうか?調べると「復帰」とかかれているのですが・・ 実際に使ってみても何がどう変わっているのかがわかりません。 chr(10) とすると、どうなるのでしょうか?教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 文字コード10のラインフィードは、Excelではセル内改行になります。 セルの書式設定の[配置]で、[折り返して全体を表示する]にチェックをしておいて、 そのセルに、 Range("A1").Value = "1行目" & Chr(10) & "2行目" と書き込むと、セル内改行されます。 ちなみにVBの定数を使用して、 Range("A1").Value = "1行目" & vbLf & "2行目" とも出来ます。 なお、通常のWindows改行は、Chr(13) & Chr(10)で、VBの定数は、「vbCrLf」ですが、これを使用して、 Range("A1").Value = "1行目" & vbCrLf & "2行目" とすると、セルの表示は、 1行目・ 2行目 という風に、Chr(13)が表示出来ずに、中黒になってしまいます。

omusupa
質問者

お礼

大変よくわかりました。 Msgboxの中で使用しようとしていたので、10と13の違いがわからず困っていました。 ありがとうございました。

関連するQ&A

  • アクセス 改行 Chr(10)とChr(13)

    アクセスのフォームの、Enter キー入力時動作を「フィールドに行を追加」にして、 改行できる状態にした時、エンターキー改行したら、 入力される文字はChr(10)とChr(13)のどちらになるのでしょうか?

  • Chr関数であいうえお順に

    Chr関数であいうえお順に文字をエクセルに書き出そうとしたけど、 単純にはいかないのですかね? Sub test() Dim MyRow As Long Dim i As Long For MyRow = 1 To 51 Cells(MyRow, 1) = Chr(-32096 + i) i = i + 2 Next MyRow End Sub これを実行すると、濁点が入ったりするのですが、 綺麗に「あ~ん」まで取得する方法はありますか? 複雑なコードを作るしかないのですかね?

  • Excel97 VBA とVBSのsplit関数

    新しい職場で、Excel VBAでデータを取り込み、それを改行文字ごとにsplit関数で区切って配列に入れようとしました。 arr=split(文字列,vbcrlf) って感じでですね。しかし、なんとその職場のExcelのバージョンが97のため、VBAでsplit関数が使えず、この意図が実現できませんでした。そのため、ネットで調べてVBScriptのsplit関数を流用しようとしたのですが、「終了していない文字列型の定数です。」とエラーが出てしまいます。ソースは次のとおりなのですが、どう直せばいいでしょうか。改行文字で区切るのでなく、カンマなどで区切るのなら、上手く出来るのですが・・・。 Sub sample() Dim vs As Object Dim rtn As Variant Dim q As String Dim buf As String q = Chr$(34) 'ダブルクォーテーション Set vs = CreateObject("ScriptControl") vs.Language = "VBScript" 'Excel97のVBAにはsplit関数がないのでVBSからsplitを流用 buf = "1" & vbCrLf & "2" & vbCrLf & "3" '改行で区切った文字。実際は、もっと複雑な文字を取り込みます。 rtn = vs.Eval("split(" & q & buf & q & ", vbCrLf)") 'Excel97のVBAにはsplit関数がないのでVBSからsplitを流用 Debug.Print rtn(1) 'ここで「終了していない文字列型の定数です。」エラーが出る End Sub

  • VBAで文字コードを取り出したい

    セルに取り込んだ文字列にスペースが含まれ、VBAの" "で読まれません。関数で=CODE(B1)により取り込むと文字コード160です。 VBAで文字コード160で識別したいのですが、chr()などを試してエラーになります。 セル内の文字からmidで取り出したスペース(コード160)を、コード番号で識別してifを使って排除したいのですが、素人ですので、マクロがうまく作れません。 混乱していますが、よろしくお願いします。

  • 英数文字を半角に、カナを全角に変換したい(Excel関数)

    Excel関数で、英数カナ文字混在したセルに対して 英数は半角に、カナ文字は全角に変換したいのですが なにかいい方法はないでしょうか? JIS関数、ASC関数では上手くできません。 当方はエクセル駆け出しです。VBAとかを使えば上手くいくのでしょうか?よろしくご教授願います。

  • sumif関数の大文字小文字区別

    Excel関数のsumifにおいて、大文字と小文字を区別して計算させたいのですが、どうしたらよいでしょうか

  • =code(" ") で値が160となる文字をEXCEL VBAで消したい

    EXCEL2002です。 あるセルに半角スペースを入力し、マクロで Cells.Replace Chr(&H20), "" と走らせるときれいに消えてくれます。ちなみにこの半角スペースを=code(" ")で調べると値は32となります。 同じやり方で=code(" ")で調べると160の値となる文字があります。これはスペースのようですが、半角でも全角のスペースでもないようです。 この文字をVBAの上記の方法で消したい場合にCells.Replace Chr(xxxx), "" ←xxxxの部分は何といれたらよいのでしょうか?

  • Excelで文字列を数式として認識させる関数

    A列に入力された文字列(例:"1+1")を、B列でA列の文字列(数式)の計算結果を算出させたいのですが、そのような関数ありますか? できれば、VBAではなくExcelでやりたいです。 OSはXP、Excel2003です。 よろしくお願いします。

  • EXCELで右3文字を除く関数

    EXCEL2002を使用しています。 あるセルの文字列の右3文字を除いた左側の文字列を 返す関数を教えてください。 RIGHT関数と何かの関数を組み合わせていたような気が するのですが、調べてもなかなかヒットしません。 宜しくお願いします。

  • 文字列を用いてExcel関数を呼び出したい

    C#にてExcel用のアドインを作成しています。 そのアドインは、独自の関数の挿入画面を表示し、こちらが用意したVBAの関数を呼び出してデータベースにアクセスする動きです。 この独自の関数の挿入画面上で引数にSUM()などのExcel関数を入力された場合、Excel標準の関数の挿入画面と同じように、 入力された関数の計算結果を右側に表示するような作りにしたいのです。 当初は独自の関数の挿入画面で引数に「SUM(B1:B10)+AVERAGE(C1:C5)」と入力されれば、その文字列を解析してどの関数が呼ばれているか抽出し、 Application.WorksheetFunction内のメソッドを呼び出そうかと考えたのですが、 作業量が多い上に自分の技術力が無いのでバグが発生する可能性が高く信頼に値しないということで、断念しました。 受け取った文字列をそのまま用いてWorksheetFunctionのメソッドを呼び出し、結果を受け取るということは可能でしょうか?

専門家に質問してみよう