- ベストアンサー
PowerPointの表内のカンマ
PowerPoint2002で表を挿入した後に、表に数字のデータを入れました。 例えば「20,000」というように「,」カンマを入れたいのですが、エクセルみたいにボタンひとつで表内のセルのデータすべてにカンマがつくような設定はないでしょうか? やっぱり数字を入れるたびに、「,」を入れないと無理でしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 #1 の方のコメントのとおり、Power Point (以下 PP ) には数字を桁区切り にする機能はありません。 Excel で表を作って貼り付ければ良いような気がしますが、既存のデータには 対応しきれない事もあるかと思います。 そこで、マクロを書いてみました。 選択したスライド内の全ての数値を桁区切りに書式設定します。やり方がわから ない場合は、その旨書き込んで下さい。 Sub 選択ページ内の数字の桁区切り() Dim Sld As Slide Dim Shp As Shape Dim iShp As Shape For Each Sld In ActiveWindow.Selection.SlideRange For Each Shp In Sld.Shapes If Shp.Name Like "Group*" Then '表ならセルの数だけループ For Each iShp In Shp.GroupItems Call myNumberFormat(iShp) Next iShp Else Call myNumberFormat(Shp) End If Next Shp Next Sld End Sub Private Sub myNumberFormat(TargetShp As Shape) Dim RegEx As Object Dim Matches As Variant Dim Match As Variant Dim strNum As String If Not TargetShp.HasTextFrame Then Exit Sub 'マッチングパターン定義 Set RegEx = CreateObject("VBScript.RegExp") With RegEx .Pattern = "[0-90-9]{4,}" .Global = True End With '検索して置換 If TargetShp.TextFrame.HasText Then With TargetShp.TextFrame.TextRange Set Matches = RegEx.Execute(.Text) For Each Match In Matches '文字列の数値を書式設定 #、##0 strNum = Replace$(.Text, Match, Format$(Match, "#,##0")) If StrComp(.Text, StrConv(.Text, vbWide), vbBinaryCompare) = 0 Then '全角の場合 .Text = Replace$(StrConv(strNum, vbWide), ",", ",") Else '半角の場合 .Text = strNum End If Next Match End With End If Set Matches = Nothing Set RegEx = Nothing End Sub
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
PowerPointの表にそのような機能は無かったと思います。 面倒ならExcelのシートを貼り付ければ良いのでは?
お礼
ありがとうございました。
お礼
詳しい説明をありがとうございました。一度試してみます。