Square Beat Engine

Blog for variety of things…

MS-Office

[Excel][PPT][VBA] エクセルとパワーポイントの改行コードの違い

投稿日:

VBAで、エクセルからパワーポイントに改行を含む文字列をコピーしようとしたとき、若干つまずいたのでメモ!

この記事で解決できる課題

パワーポイントの箇条書きでは、Enterで次の段落に移動し、新しい箇条が生成されます。
Shift+Enterは、段落を変えずに改行するので、同じ箇条の中で改行できます。

VBAを使ってエクセルからパワーポイントに値をコピーするときに、この「段落を変えずに改行」を正しく扱うにはコツが必要です。

エクセルとパワーポイントの改行コード

ソフトウェア 改行操作 文字コード 改行コード
エクセル Alt+Enter 10 LF
PPT Enter 13 CR
Shift+Enter 11 VT

VTっていうのは垂直タブ(Virtual Tab)のこと。
こんなの初めて知ったわ。

エクセルからパワポへの転記まとめ

普通に改行するとき

上記の表ではパワポでは文字コード13となっているが、10を指定しても普通の改行として扱われる模様。
したがって、エクセルのセル内で普通にAlt+Enterすればよい。
安全を期すならCHAR(13)がよいと思う。
念を入れてCHAR(13)&CHAR(10)としてCRFLにすると、2つ改行が入る。

段落を変えずに改行するとき

エクセルのセル内でCHAR(11)を使ってVTを表現する。

関数(メモ)

ソフトウェア コード→文字 文字→コード
エクセル CHAR() CODE()
VBA Chr() Asc()

その他の細かいこと

  • パワポのVTは、VBA内でAsc()を実行して調査した。
  • エクセルで=CHAR(11)とすると、見慣れない妙なマークになる。しかしこれを別のセルに貼り付けると単なる半角スペース(文字コード32)になってしまい、再利用はできない。
  • そのため、エクセル内でVTを使いたいときは="1行目の文字列"&CHAR(11)&"2行目の文字列"のようにする必要がある。

以上!

-MS-Office

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[Excel][VBA] オブジェクト名のワナ

Excel 2010のVBAで、ActiveXコントロール(VBA内ではOLEObject)の名前に罠があることに気づいたのでメモ。 「OLEObjectがうまく動作しない!」と嘆く誰かを1人でも救い …

[VBA] ユーザー定義型の使い方

VBAでは、自分で型を定義することができる。 異なる値をひとまとめに扱いたいときに使うと、取り扱いがぐっと楽になる。 ユーザー定義型の構文 宣言部分(モジュール内の冒頭、Optionalのすぐ後)に、 …

[PowerPoint][VBA] パワーポイントで、選択中のグラフのバーの色を調べる方法

パワーポイントで、選択中のグラフのバーの色を調べる方法。 イミディエイトウィンドウで、以下のコマンドを実行。

なお、.RGBをつけても …

[Excel][VBA] エクセルVBAではValueプロパティを指定しよう

前回は、自動記録マクロの問題点を3つ挙げ、1つめのSelectメソッドの無駄を指摘しました。 今回は、2つめのFormulaR1C1プロパティについて考えます。 プロパティの指定 FormulaR1C …

[Power Point][VBA] スライド番号の挿入

自動的に番号が更新されるスライド番号をテキストボックスに挿入するには、以下のメソッドを使う。

注意点:Replaceによる解除 スライ …