日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

セルのコメントを編集する(2) InputBox関数編-2 複数行対応

f:id:dz_dzone:20170814233145j:plain

InputBox関数によるセルのコメント編集マクロ、前回は1行コメントの編集に対応したものを作成しました。今回はこれを元に複数行に対応させてみようと思います。

前回までのコード

Sub KomeHen()
  If TypeName(ActiveCell.Comment) = "Comment" Then
  
    ' ** セルにコメントがあれば処理する **
    Dim StrHen As String
    StrHen = InputBox(Prompt:="※改行は出来ません。", _
                      Title:="コメント編集(一行版)", _
                      Default:=ActiveCell.Comment.Text)
        
    ' ** キャンセル処理
    If StrPtr(StrHen) = 0 Then
      Exit Sub
    End If
    
    ' ** コメント内容を変更する処理 **
    With ActiveCell
      With .Comment
        .Shape.Select True
        .Text Text:=StrHen
      End With
      .Activate
    End With
    Exit Sub
  Else
    ' ** セルにコメントがなかったら終了する **
    MsgBox "コメントがありません。", vbOKOnly + vbExclamation
    Exit Sub
  End If
End Sub

単純に vbCrLf や Chr(13) & Chr(10) とはいかない

改行と言えば vbCrLf や Chr(13) & Chr(10) などが思いつきますが、InputBoxにこれらを単純に入力しても改行にはなりません。

f:id:dz_dzone:20171024105000j:plain
f:id:dz_dzone:20171024105010j:plain

全然出来てませんね。入力したとおりのコメントになってしまいました。

文字列を分割するSplit関数

文字列を分割するのにはSplit関数があります。区切り文字を設定することで文字列を複数文字列に分割することが可能です。分割された文字列は1次元配列に入ります。

    ' ** Split
    Dim RTmp As Variant
    RTmp = Split(StrHen, ",")

返り値が1次元配列なのでVariant型とします。区切り文字を","として StrHen を分割し、1次元配列 RTmp に代入します。

    StrHen = RTmp(0)
    For i = 1 To UBound(RTmp)
      StrHen = StrHen & vbCrLf & RTmp(i)
    Next i

StrHen を書き換えます。まず1行目を代入し、2行目以降は改行(vbCrLf)と文字列を追加していきます。このとき、最大分割数(=配列の最大数)が必要になりますので、UBound関数で最大値を求めます。

f:id:dz_dzone:20171024115246j:plain
f:id:dz_dzone:20171024115256j:plain

既存のコメントが複数行だった場合の処理

既存のコメントが複数行だった場合、InputBoxに代入される文字列は見た目は1行になったように見えます。

f:id:dz_dzone:20171024131126j:plain

この状態で別の場所に改行を入れてみます。「1行目」「2行目」「3行目」の後ろに","を入れて改行します。

f:id:dz_dzone:20171024132001j:plain

指定した箇所で改行されましたが、元々の改行が残っていました。

f:id:dz_dzone:20171024132014j:plain

ワークシート関数 Clean を使う

InputBoxに既存のコメントを表示する際に、不要な改行を削除するため、ワークシート関数「CLEAN」を使用します。

    Dim DefaultComment As String
    DefaultComment = WorksheetFunction.Clean(ActiveCell.Comment.Text)
        
    StrHen = InputBox(Prompt:="※改行したい位置に,を入力して下さい。", _
                      Title:="コメント編集(改良版)", _
                      Default:=DefaultComment)

「1行目」「2行目」「3行目」の後ろに","を入れて改行します。

f:id:dz_dzone:20171024132001j:plain

意図したとおりに改行されました。

f:id:dz_dzone:20171024133200j:plain

完成コード

Sub KomeHen2()
  If TypeName(ActiveCell.Comment) = "Comment" Then
    ' ** セルにコメントがあれば処理する **
        
    Dim StrHen As String
    Dim DefaultComment As String
        
    DefaultComment = WorksheetFunction.Clean(ActiveCell.Comment.Text)
        
    StrHen = InputBox(Prompt:="※改行したい位置に,を入力して下さい。", _
                      Title:="コメント編集(改良版)", _
                      Default:=DefaultComment)
        
    ' ** 空白ならキャンセルとする
    If StrPtr(StrHen) = 0 Then
      Exit Sub
    End If
    
    ' ** Split
    Dim RTmp As Variant
    RTmp = Split(StrHen, ",")
        
    StrHen = RTmp(0)
    For i = 1 To UBound(RTmp)
      StrHen = StrHen & vbCrLf & RTmp(i)
    Next i
        
    ' ** コメント内容を変更する処理 **
    With ActiveCell
      With .Comment
        .Shape.Select True
        .Text Text:=StrHen
      End With
        .Activate
    End With
    Exit Sub
  Else
    ' ** セルにコメントがなかったら終了する **
    MsgBox "コメントがありません。", vbOKOnly + vbExclamation
    Exit Sub
  End If
End Sub

次回:ユーザーフォームを使ったセルのコメント編集

これでInputBox関数を使ったセルのコメント編集マクロは完成です。次回は、ユーザーフォームを使ったセルのコメント編集マクロを作ろうと思います。

以上。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

セルのコメントを編集する(1) InputBox関数編-1

f:id:dz_dzone:20170814233145j:plain

個人的に仕事で大量のコメントを追加しては日々編集しているんですが、こう大量にあるとエクセル標準のコメント編集機能ではちょっとまどろっこしいところがあります。何か入力ダイアログみたいなもので編集できると便利だなと思ったので今回はこれをやってみたいと思います。

入力ダイアログにInputBox関数を使う

まず最初に考えたのは文字列を入力できるInputBox関数です。まずは簡単にコードを組んでみます。

Sub KomeHen0()
  Dim StrHen As String
  
  ' ** 文字列を入力 **
  StrHen = InputBox(Prompt:="文字を入力", Title:="コメント編集")
  
  ' ** コメント内容を変更する処理 **
  With ActiveCell
    With .Comment
      .Shape.Select True
      .Text Text:=StrHen
    End With
    .Activate
  End With
End Sub

f:id:dz_dzone:20171024093109j:plain
f:id:dz_dzone:20171024093120j:plain
f:id:dz_dzone:20171024093127j:plain

コードの説明

With~End Withをネスト(入れ子構造)してますが、内容は簡単です。
ActiveCellに対し「.Comment.Shape.Select True」は、セルのコメントを選択状態にします。その上で「.Comment.Text Text:=StrHen」でコメントのテキストをStrHenにする」を実行します。最後に「ActiveCell.Activate」で選択状態をコメントからセルに戻します。

基本のコードが出来ました。

エラー処理を追加

現状のコードですと、コメントが設定されていないセルで実行するとエラーになりますので、エラー処理を加えます。

  If TypeName(ActiveCell.Comment) = "Comment" Then
    ' ** セルにコメントがあれば処理する **
  Else
    ' ** セルにコメントがなかったら終了する **
    MsgBox "コメントがありません。", vbOKOnly + vbExclamation
    Exit Sub
  End If

コメントの有無で処理を変えます。

キャンセル処理

現状のコードでキャンセルを押すとエラーが発生します。

f:id:dz_dzone:20171024095523j:plain

InputBox関数のキャンセル処理は定型的な書き方があります。私はこちらを参考にしました。

www.relief.jp

これを踏まえて

    ' ** キャンセル処理
    If StrPtr(StrHen) = 0 Then
      Exit Sub
    End If

既に入力されているコメントをInputBoxに代入する

コメントをまるっきり書き換える場合は今のままで良いのですが、既に入力されているコメントを編集する場合、また同じような文字列を入力するのは面倒です。そこで既に入力されているコメントをInputBoxに代入しておきます。

  StrHen = InputBox(Prompt:="文字を入力", _
                    Title:="コメント編集", _
                    Default:=ActiveCell.Comment.Text)

f:id:dz_dzone:20171024100609j:plain

次回:複数行に対応させる

今回のコードですと一行のコメントにしか対応していません。次回は複数行に対応させてみようと思います。

今回の完成コード

Sub KomeHen()
  If TypeName(ActiveCell.Comment) = "Comment" Then
  
    ' ** セルにコメントがあれば処理する **
    Dim StrHen As String
    StrHen = InputBox(Prompt:="※改行は出来ません。", _
                      Title:="コメント編集(一行版)", _
                      Default:=ActiveCell.Comment.Text)
        
    ' ** キャンセル処理
    If StrPtr(StrHen) = 0 Then
      Exit Sub
    End If
    
    ' ** コメント内容を変更する処理 **
    With ActiveCell
      With .Comment
        .Shape.Select True
        .Text Text:=StrHen
      End With
      .Activate
    End With
  Else
    ' ** セルにコメントがなかったら終了する **
    MsgBox "コメントがありません。", vbOKOnly + vbExclamation
    Exit Sub
  End If
End Sub

以上。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

(リボン/クイックアクセス) 「セルの罫線」を手軽に引く/消すボタンを追加する

f:id:dz_dzone:20170814233145j:plain

リボンやクイックアクセスツールバーに罫線を引いたり消したりするボタンを追加してエクセルを便利にしてみましょう。

はじめに

皆さんはエクセルで罫線を引くときにどのようにしていますか?
まさか、昔のエクセルみたいに範囲選択して右クリックの書式設定から罫線設定してたりしませんか?

f:id:dz_dzone:20170925110419j:plain

それともホームタブのフォントグループ内にある罫線ボタンのプルダウンリストから設定しているでしょうか?

f:id:dz_dzone:20170925110438j:plain

実はこのプルダウンリストにある項目、すべて単独のボタンとして設定することが可能です。ここでは、新しく罫線タブを作って各ボタンを追加する手順を説明します。

準備

まず入れ物を作ります。リボンのユーザー設定を開き、新しいタブを作成して名前を「罫線」に変更してください。

f:id:dz_dzone:20170925105929j:plain

コマンドをリボンに追加する

この作業がちょっと面倒くさいのですが、これを設定してしまえば後が楽になりますので我慢してやってみましょう。

「コマンドの選択」は「すべてのコマンド」を選びます。目的の罫線コマンドを探し、「追加」ボタンでリボンに追加していきます。

f:id:dz_dzone:20170925111031j:plain

追加するコマンド

1. 右罫線 ( BorderRight )

f:id:dz_dzone:20170925111935j:plain

※上下左右の4つの罫線にはもう一つコマンドがあります。右罫線の場合「右罫線 (BorderRightNoToggle)」という風に「NoToggle」がついたものです。こちらは今回は使いませんので注意してください。

f:id:dz_dzone:20170925112101j:plain

2. 横罫線(内側)( BorderInsideHorizontal )

f:id:dz_dzone:20170925112501j:plain

3. 下罫線 ( BorderBottom )

f:id:dz_dzone:20170925113457j:plain

4. 下太罫線 ( BorderThickBottom )

f:id:dz_dzone:20170925113524j:plain

5. 下二重罫線 ( BorderDoubleBottom )

f:id:dz_dzone:20170925113557j:plain

6. 外枠 ( BorderOutside )

f:id:dz_dzone:20170925113630j:plain

7. 外枠太罫線 ( BorderThickOutside )

f:id:dz_dzone:20170925113714j:plain

8. 格子 ( BordersAll )

f:id:dz_dzone:20170925113804j:plain

9. 罫線 ( BordersGallery )

f:id:dz_dzone:20170925113849j:plain

10. 罫線(内側)( BorderInside )

f:id:dz_dzone:20170925113924j:plain

11. 罫線グリッドの作成 ( BordersDrawGrid )

f:id:dz_dzone:20170925114012j:plain

12. 罫線の作成 ( BorderDrawLine )

f:id:dz_dzone:20170925114120j:plain

13. 罫線の削除 ( BorderErase )

f:id:dz_dzone:20170925114153j:plain

14. 左罫線 ( BorderLeft )

f:id:dz_dzone:20170925114230j:plain

15. 斜め罫線(右下がり)( BorderDiagonalDown )

f:id:dz_dzone:20170925114400j:plain

16. 斜め罫線(右上がり)( BorderDiagonalUp )

f:id:dz_dzone:20170925114432j:plain

17. 縦罫線(内側)( BorderInsideVertical )

f:id:dz_dzone:20170925114454j:plain

18. 上罫線 ( BorderTop )

f:id:dz_dzone:20170925114528j:plain

19. 枠なし ( BorderNone )

f:id:dz_dzone:20170925114550j:plain

ボタンを並び替える

ボタンを選択して右の上下ボタンで並び替えが出来ます。ここでは右図のように並べ替えました。

f:id:dz_dzone:20170925132049j:plain

完成したリボンの罫線タブは以下の通りです。

f:id:dz_dzone:20170925132224j:plain

なお、リボンのボタンはウィンドウ幅によって自動的に拡大縮小します。

f:id:dz_dzone:20170925135542j:plain

f:id:dz_dzone:20170925135557j:plain

 

便利な使い方

上下左右の罫線がトグルボタン(状態監視付)になっているので、押すたびに「罫線を引く」「罫線を削除」が出来る

B2:D4の範囲を選択した状態

f:id:dz_dzone:20170927092634j:plain

「上罫線」「下罫線」「左罫線」「右罫線」を押すと、ボタンの背景が緑色に変化(押された状態を示す)します。

f:id:dz_dzone:20170927092718j:plain

そのときの状態

f:id:dz_dzone:20170927092826j:plain

次に「左罫線」「右罫線」を再度押して消します。(ボタンの緑背景が消えた)

f:id:dz_dzone:20170927092953j:plain

そのときの状態

f:id:dz_dzone:20170927093054j:plain

 

横罫線(内側)・縦罫線(内側)・斜め罫線(右下がり/右上がり)もトグルボタン(状態監視無し)になっている

B2:D4の範囲で上下左右の罫線が引かれている状態

f:id:dz_dzone:20170927093248j:plain

「横罫線(内側)」「縦罫線(内側)」を押すと、縦横の罫線が引かれました。このときボタンの背景は変わっていません。内側罫線にはその機能がないからです。

f:id:dz_dzone:20170927093258j:plain

次に「縦罫線(内側)」を押して消してみます。縦罫線だけ消えたのが確認できます。

f:id:dz_dzone:20170927093310j:plain

 

「罫線の作成」「罫線グリッドの作成」「罫線の削除」ボタン

「罫線の作成」ボタンを押してから、任意範囲をドラッグ(囲う)と、その範囲を囲う外枠罫線が引くことが出来ます。

f:id:dz_dzone:20170927094058j:plain

「罫線グリッドの作成」の場合は、内側の罫線も童子に引くことが出来ます。

f:id:dz_dzone:20170927094146j:plain

「罫線の削除」では任意の範囲の罫線を全て消すことが出来ます。

f:id:dz_dzone:20170927094225j:plain

 

クイックアクセスツールバーにボタンを追加する

気に入ったリボンのボタンはクイックアクセスツールバーに追加することが出来ます。

「格子」ボタンにカーソルを合わせて右クリックすると、一番上に「クイックアクセスツールバーに追加」の項目があります。

f:id:dz_dzone:20170927094752j:plain

クイックアクセスツールバーに「格子」が追加されました。

f:id:dz_dzone:20170927094918j:plain

同様に気に入ったボタンをクイックアクセスツールバーに追加しました。

f:id:dz_dzone:20170927094934j:plain

以上。

 

にほんブログ村 PC家電ブログ パソコンの豆知識へ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

(News) iOS用のGoogleのキーボードアプリGboardにGoogle日本語入力が搭載されました

japan.googleblog.com

Gboard — a new keyboard from Google

Gboard — a new keyboard from Google

  • Google, Inc.
  • ユーティリティ
  • 無料

Google Japan Blogによると、

本日より、iOS 向けキーボードアプリ Gboard が日本語に対応し、日本語をお使いの皆さんにも広くお使いいただけるようになりました。

Gboard は、直接、キーボードアプリから検索したり、検索結果を共有したり、さらに絵文字を入力したりすることができます。iOS ユーザーの皆さんから、多数のリクエストをいただいていた Google 日本語入力も、Gboard に搭載する形で、やっとお届けできるようになりました。お待たせしました!

とのことです。

早速試してみた

私も早速インストールしてみましたが、今のところ出来ることは

  • キーボードレイアウトの変更(12キー/QWERTY/GODAN)
  • テーマの変更(デフォルト2種/風景10種/自作背景可能)
  • Google音声入力の使用
  • サジェスト対応
  • 絵文字対応

となっており、逆に今のところ出来ないことは

  • ユーザー辞書のインポート・エクスポート
  • iOSユーザー辞書を利用する
  • iOS連絡先を利用する

など、ユーザー辞書絡みについては全く作られていない様子です。

今後のバージョンアップに期待ですね。

 

 

シートのインデックスと名前と数、表示と非表示の制御

f:id:dz_dzone:20170814233145j:plain

シートのインデックス番号と名前

現在のシートのインデックス番号と名前を表示する

ActiveSheet.Index 'シートのインデックス
ActiveSheet.Name  'シートの名前

Msgboxに表示させます。

Sub GetSheetName()
    MsgBox "現在のシート" & vbCrLf & _
        "Index = " & ActiveSheet.Index & vbCrLf & _
        "Name = " & ActiveSheet.Name
End Sub

結果表示
f:id:dz_dzone:20170413154323j:plain

シートを移動させたらインデックス番号はどうなる?

Sheet2を左端に移動してみます。
f:id:dz_dzone:20170413162528j:plain
Indexが1になりました。Indexはあくまでもシートの左からの順番だということが分かります。

ブックに含まれるすべてのシートのインデックスと名前を表示する

Sub GSN_All()
    Dim myShts As Object
    Dim SN As String
    SN = "Index:Name" & vbCrLf
    
    For Each myShts In ActiveWorkbook.Sheets
        SN = SN & myShts.Index & ":" & myShts.Name & vbCrLf
    Next myShts
    
    MsgBox SN
End Sub

f:id:dz_dzone:20170919093214j:plain

ブックに含まれるシートの数は?

Sub GetSheetCount()
    MsgBox Worksheets.Count
End Sub

f:id:dz_dzone:20170919093322j:plain

シートの非表示と再表示

シートの表示と非表示の制御はシートのVisibleプロパティで行います。

    Sheets("Sheet1").Visible = True または False または xlVeryHidden

選択したシートを非表示にする

メニュー操作の場合

f:id:dz_dzone:20170919105320j:plain

注意点:全てのシートを非表示にしようとすると次のエラーダイアログが出ます。
f:id:dz_dzone:20170919105419j:plain

VBAの場合
Sub SheetInvisible()
    ActiveWindow.SelectedSheets.Visible = False
End Sub

メニュー操作と同様、全てのシートを非表示にしようとするとエラーが出ます。エラー処理の追加が必要です。
f:id:dz_dzone:20170919105737j:plain

非表示のシートを再表示する

メニュー操作の場合

f:id:dz_dzone:20170919110018j:plain
f:id:dz_dzone:20170919110039j:plain

VBAの場合
Sub AllSheetsVisible()
    Dim myShts As Object
    For Each myShts In ActiveWorkbook.Sheets
        myShts.Visible = True
    Next myShts
End Sub

全てのシートをFor Each ~ Nextで一つずつ回してVisibleプロパティをTrueにしていきます。

メニュー操作で再表示出来ないようにする

    Sheets("Sheet1").Visible = xlVeryHidden

VisibleプロパティをxlVeryHiddenにするとメニュー操作で再表示が出来ないようにシートを非表示に出来ます。このシートを再表示する場合は、メニュー操作ではなくVBAコードで表示させてください。

以上。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

セルの内容を調べるExcelVBAコード

f:id:dz_dzone:20170814233145j:plain
一口にセルの内容と言ってもいくつか考えられます。「値」だったり「テキスト」だったり「数式」だったり、また書式によっても内容はいろいろ変わりますよね。ここではいくつかの例を挙げてそれぞれの「セルの内容」を確認します。

コード

Sub ShowCellData()
    Dim StrCellAddress, StrFmt, StrVal, StrVal2, StrTxt, StrFml
    With ActiveCell
        StrCellAddress = "セル : " & .Address
        StrFmt = "書式 : " & .DisplayFormat.NumberFormatLocal
        StrTxt = "Text  : " & .Text
        StrVal = "Value : " & .Value
        StrVal2 = "Value2 : " & .Value2
        StrFml = "Fomula: " & .Formula
    End With
    MsgBox StrCellAddress & vbCrLf & StrFmt & vbCrLf & _
           StrTxt & vbCrLf & StrVal & vbCrLf & _
           StrVal2 & vbCrLf & StrFml
End Sub
Rangeオブジェクトのプロパティ 内容
.Text テキスト
.Value
.Value2 値2
.Formula 数式

数値(1)

f:id:dz_dzone:20170914142838j:plain
C4セルに「123」と数値を入力しました。数式バーも「123」になっています。書式は標準でこれは数値です。この場合はどのプロパティでも「123」になります。
f:id:dz_dzone:20170914143501j:plain
D4セルに「=C4*2」と数式を入力しました。計算されてセルは「246」と表示されています。数式バーは「=C4*2」です。書式は標準でこれは数値です。数式以外のプロパティは「246」になります。

数値(2):分数

f:id:dz_dzone:20170914144553j:plain
C8セルに「0.5」と数値を入力しました。数式バーも「0.5」になっています。書式は標準でこれは数値です。この場合はどのプロパティでも「0.5」になります。
f:id:dz_dzone:20170914144604j:plain
D8セルに「=C8」と数式を入力し、書式を「# ?/?」(分数)に設定しました。書式に従ってセルには「1/2」と表示されています。数式バーは「=C8」です。このとき値としては「0.5」、テキストは「1/2」となります。

文字列

f:id:dz_dzone:20170914145303j:plain
C5セルに「ABC」と文字列を入力しました。数式バーも「ABC」になっています。書式は標準でこれは文字列です。この場合はどのプロパティでも「ABC」になります。
f:id:dz_dzone:20170914145318j:plain
D5セルに「=LEFTB(C5,2)」と数式を入力しました。数式に従いセルは「AB」と表示されています。数式バーは「=LEFTB(C5,2)」です。書式は標準でこれは文字列です。数式以外のプロパティは「AB」となります。

通貨/会計

f:id:dz_dzone:20170914145405j:plain
C6セルに「1234567」と数値を入力しました。数式バーも「1234567」になっています。書式は標準でこれは数値です。この場合はどのプロパティでも「1234567」になります。
f:id:dz_dzone:20170914145415j:plain
D6セルに「=C6」と数式を入力し、書式を「通貨(¥)」に設定しました。書式に従ってセルには「¥1,234,567」と表示されています。数式バーは「=C6」です。このとき値としては「1234567」、テキストは「¥1,234,567」となります。

日付/時刻

f:id:dz_dzone:20170914145427j:plain
C7セルに「2017/9/1」と日付を入力しました。書式は自動的に「yyyy/m/d」になりました。数式バーは「2017/9/1」です。値(Value)は「2017/09/01」になっています。また、値2(Value2)はシリアル値の「42979」になっています。数式もシリアル値になっています。
f:id:dz_dzone:20170914152539j:plain
C7セルを一度クリアして「H29/9/1」と日付を入力しました。書式は自動的に「[$-411]ge.m.d」になりました。数式バーは「2017/9/1」です。値(Value)は「2017/09/01」になっています。また、値2(Value2)はシリアル値の「42979」になっています。数式もシリアル値になっています。
f:id:dz_dzone:20170914145437j:plain
D7セルに「=C7」と数式を入力し、書式を和暦の日付に設定しました。数式バーは「=C7」です。値(Value)は「2017/09/01」になっています。また、値2(Value2)はシリアル値の「42979」になっています。

まとめ

まとめると以下のようになります。

日付/時刻以外の場合

プロパティ 内容
Textプロパティ セルに表示されているもの
Valueプロパティ 入力値または数式の結果で書式が標準のもの
Value2プロパティ Valueと同値
Formulaプロパティ 数式が入力されていれば数式
それ以外は入力値で書式が標準のもの

日付/時刻の場合

プロパティ 内容
Textプロパティ セルに表示されているもの
Valueプロパティ 書式「yyyy/mm/dd」の日付
※書式「h:mm:ss」の時刻
Value2プロパティ シリアル値
Formulaプロパティ 数式が入力されていれば数式
それ以外はシリアル値

以上。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

(リボン/クイックアクセス) 「Excelのオプション」を一発で開くボタン

f:id:dz_dzone:20170814233145j:plain

「Excelのオプション」は「ファイル」タブから開きます。何ということはありませんが、たったの一手間でも省略したい方のために、リボンやクイックアクセスツールバーに配置できるボタンが用意されています。

f:id:dz_dzone:20170912154343j:plain

f:id:dz_dzone:20170912161605j:plain

「オプション」を開くボタン

「リボンのユーザー設定」や「クイックアクセスツールバーのユーザー設定」を開いて下図のコマンドを追加してください。

f:id:dz_dzone:20170912161221j:plain

ちなみに筆者は、クイックアクセスツールバーの一番最初にボタンを追加しています。(左端はExcelの固定アイコン)

f:id:dz_dzone:20170912161753j:plain

実は「リボンのユーザー設定」や「クイックアクセスツールバーのユーザー設定」もこのオプション画面に入っていますよ。

 

以上です。

VBAマクロをリボンやクィックアクセスツールバーのボタンに割り当てる

f:id:dz_dzone:20170814233145j:plain

作成したVBAマクロを手軽に実行出来るように、リボンやクイックアクセスツールバーのボタンに配置してみましょう。

目次

手順その1 リボンのユーザー設定を開く

リボンの任意の場所で右クリックしてメニューを開き、「リボンのユーザー設定」をクリックします。

f:id:dz_dzone:20170901142146j:plain

「リボンのユーザー設定」画面が開きました。

f:id:dz_dzone:20170901142239j:plain

画面右側、「新しいタブ」をクリックします。

f:id:dz_dzone:20170911091223j:plain

「新しいタブ(ユーザー設定)」と「新しいグループ(ユーザー設定)」が作成されました。

f:id:dz_dzone:20170911091354j:plain

「新しいタブ(ユーザー設定)」を選択して、「名前の変更」をクリックします。

f:id:dz_dzone:20170911091446j:plain

任意の名前に変更します。ここでは仮に「マイツール」としておきます。

f:id:dz_dzone:20170911091527j:plain

次に「新しいグループ(ユーザー設定)」を選択して「名前の変更」をクリックします。

f:id:dz_dzone:20170911091617j:plain

任意の名前に変更します。ここでは仮に「マクロ」としておきます。(アイコンは反映されないのでどれでも良いです)

f:id:dz_dzone:20170911091655j:plain

次に画面の左上の「コマンド選択」から「マクロ」を選択します。

f:id:dz_dzone:20170911091803j:plain

任意のマクロを選択して「追加」をクリックします。ここでは仮に「PERSONAL.XLSB!HelloWorld」を選択します。

f:id:dz_dzone:20170911091929j:plain

「マイツール」タブの「マクロ」グループに「PERSONAL.XLSB!HelloWorld」が追加されました。「名前の変更」をクリックします。

f:id:dz_dzone:20170911092044j:plain

任意のアイコンを選択し、表示名を変更します。ここでは下図のようにアイコンは「フェイスマーク」、表示名は「HelloWorld」とします。

f:id:dz_dzone:20170911092106j:plain

変更されました。画面の「OK」をクリックします。

f:id:dz_dzone:20170911092331j:plain

リボンの「マイツール」タブを選択すると「マクロ」グループの中に「HelloWorld」のボタンが表示されます。

f:id:dz_dzone:20170911092454j:plain

「HelloWorld」ボタンをクリックするとマクロが実行されます。

f:id:dz_dzone:20170911092528j:plain

 

自作マクロをリボンに追加する手順は以上になります。参考までに、クイックアクセスツールバーに追加する手順もほぼ同様です。

また、今回はExcelを使って説明しましたが、Wordでもほぼ同様です。試してみてください。

 

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

(基本) リボンとクイックアクセスツールバーについての説明

f:id:dz_dzone:20170814233145j:plain

リボン

f:id:dz_dzone:20170901153211j:plain

タブとグループ

f:id:dz_dzone:20170901153236j:plain

別のタブをクリックするとリボンの内容が変わります。

f:id:dz_dzone:20170901153253j:plain

リボンの表示オプション

f:id:dz_dzone:20170901153327j:plain

リボンを折りたたむ

f:id:dz_dzone:20170901153418j:plain

リボンが折りたたまれた状態。タブのみが表示されています。

f:id:dz_dzone:20170901153452j:plain

 

クイックアクセスツールバー

f:id:dz_dzone:20170901153524j:plain

クイックアクセスツールバーをリボンに下に表示する

f:id:dz_dzone:20170901153613j:plain

リボンの下に表示されました。

f:id:dz_dzone:20170901153718j:plain

リボンをたたんでもクイックアクセスツールバーは表示されています。

f:id:dz_dzone:20170901153801j:plain

 

以上。

Android/iOS日本語入力アプリのユーザー辞書の品詞の比較対照表

f:id:dz_dzone:20170724130307p:plain
スマホの機種変更などで日本語入力アプリをやむを得ず変更する場合などでユーザー辞書を移行したい場合は希にあるかと思います。ユーザー辞書に品詞が必要なアプリがいくつかありますが、アプリによって使える品詞というのはバラバラです。そこで比較対照表をここに掲載します。

品詞が必要ない日本語入力アプリ(Android/iOS)

  • Wnnシリーズ
  • Simeji
  • POBoxシリーズ
  • iOS標準キーボード

品詞が必要な日本語入力アプリ(Android/iOS)

  • Google日本語入力
  • Mozcベースの日本語入力アプリ
    • アルテ on Mozc
    • flick (旧・みんなの顔文字キーボード)
    • クラゲ日本語入力
    • Gingerキーボード
  • ATOKシリーズ
  • FSKAREN

ただし、Google日本語入力とMozcの品詞は共通です。

品詞の比較対照表

グループ ATOK
(Android/iOS)
GoogleIME/Mozc
(Android/iOS)
FSKAREN
(Android)
名詞 名詞 名詞 名詞
固有人名
男性名
女性名
人名 人名
芸能人名
固有地名 地名 地名
駅名
スポット
固有組織 組織 ブランド
固有一般 固有名詞 固有名詞
名詞サ変 名詞サ変
名詞ザ変
名詞形動 名詞形動
数詞 数字※2
形容詞 形容詞 形容詞
形容動詞 形容動詞
動詞 カ行五段 動詞カ行五段
ガ行五段 動詞ガ行五段
サ行五段 動詞サ行五段
タ行五段 動詞タ行五段
ナ行五段 動詞ナ行五段
バ行五段 動詞バ行五段
マ行五段 動詞マ行五段
ラ行五段 動詞ラ行五段
ワ行五段 動詞ワ行五段
ハ行四段 動詞ハ行五段※2
一段動詞 動詞一段
カ変動詞 動詞カ変
サ変動詞 動詞サ変
ザ変動詞 動詞ザ変
動詞ラ変
副詞 副詞 副詞
連体詞 連体詞 連体詞
接続詞 接続詞 接続詞
感動詞 感動詞 感動詞
助詞 終助詞
独立語 独立語 独立語 独立語
接頭辞 接頭語 接頭辞※2
接尾辞 接尾語 接尾一般
接尾人名
接尾地名
助数詞
その他 単漢字
顔文字 顔文字
短縮よみ
アルファベット
記号
句読点
抑制単語
候補のみ※2

※flick for iOS版はMozcベースです

おわりに

  • ATOK for Android/iOSの品詞は、デスクトップ版(Windows/macOS)に比べると少なくなっています
  • ※2:Google日本語入力/Mozcの品詞は、デスクトップ版と一部異なる箇所があります
    • 数字 : 数
    • 動詞ハ行五段 : 動詞ハ行四段
    • 接頭辞 : 接頭語
    • 候補のみ : サジェストのみ
  • FSKARENは名詞の分類が多いけど、それ本当に品詞として必要?というものが多いと思います

にほんブログ村 スマホ・携帯ブログへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

最終セル、最終行、最終列を選択するExcelマクロ

f:id:dz_dzone:20170814233145j:plain

最終セルとは

最終セルとは、値を入力されている、または、値が入力されていなくても書式が設定されている最も右下のセルのことです。

シートの最終セルを選択するマクロ

Sub SelectLastCell1()
    Cells.SpecialCells(xlLastCell).Select
End Sub

または

Sub SelectLastCell2()
    Cells.SpecialCells(xlLastCell).Activate
End Sub

シートの最終行、最終列を選択するマクロ

' **シートの最終行を選択するマクロ
Sub SelectLastRow1()
    Cells.SpecialCells(xlLastCell).EntireRow.Select
End Sub
' **シートの最終列を選択するマクロ
Sub SelectLastColumn1()
    Cells.SpecialCells(xlLastCell).EntireColumn.Select
End Sub

SelectとActivateの違い

f:id:dz_dzone:20170821185434j:plain

  • Select :選択する→範囲選択(1セルに限らない)
  • Activate :アクティブにする→選択範囲の中の1セルのみ
Sub SelectLastRow2()
    ' **シートの最終行を選択し、最終セルをアクティブにするマクロ
    With Cells.SpecialCells(xlLastCell)
        .EntireRow.Select
        .Activate
    End With
End Sub


以上です。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

Android/iOSのキーボードの背景に動画を表示させる方法

Androidの日本語入力キーボードの背景に動画を設定できるアプリが登場しました。ここではそのアプリの紹介と動画を背景に設定する手順について解説します。

目次

動画を背景に出来る日本語入力アプリ

現在では多くの日本語入力アプリがキーボードのテーマを変更できるようになってきましたが、 ついに動画を背景に出来るアプリが登場しました。アプリは 'flick' という日本語入力アプリで、以前は 'みんなの顔文字キーボード'と呼ばれていました。AndroidとiOSに対応しています。

flick(フリック)

flick(フリック)

  • IO Inc.
  • ユーティリティ
  • 無料

 

動画を背景に設定する手順

※説明はAndroid版で行います。iOS版も大体同じような内容です。

ドロワーから「flick」をタップします。

f:id:dz_dzone:20170818161034j:plain

「テーマ」をタップします。

f:id:dz_dzone:20170818161138j:plain

「自分の動画を使う」をタップします。

f:id:dz_dzone:20170818161156j:plain

任意のギャラリーアプリで動画を選択します。

f:id:dz_dzone:20170818161228j:plain

背景にしたい動画を選択します。

f:id:dz_dzone:20170818161318j:plain

動画に合わせてキーボードの文字や枠線の色などを選択してから「このテーマにする」をタップします。

f:id:dz_dzone:20170818161413j:plain

背景に動画が設定されました。

デフォルトでは音声が鳴っています。音を消したい場合は、「あA1」を長押ししてください。

f:id:dz_dzone:20170818161615j:plain

「背景動画の消音」をタップして音声の切替をします。

f:id:dz_dzone:20170818161630j:plain f:id:dz_dzone:20170818161640j:plain

動画サンプル 


flickキーボード背景動画(1)


flickキーボード背景動画(2)

 

以上。

 

にほんブログ村 スマホ・携帯ブログへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

VBAマクロ作成を気軽に始めてみよう! ~Excel編~

ExcelVBAマクロ作成を始めてみましょう。必要なのは Microsoft Excelだけです。準備は簡単、手順通りに進めていけば誰でも始めることが出来ます。

f:id:dz_dzone:20170814233145j:plain

目次

手順その1 ~開発タブを表示しよう~

どのタブでもいいので、リボンの任意の場所で右クリックします。

f:id:dz_dzone:20170815000253j:plain

「リボンのユーザー設定」をクリックします。

f:id:dz_dzone:20170815000404j:plain

「開発」にチェックを入れます。入れたら「OK」をクリックします。

f:id:dz_dzone:20170815000438j:plain

これで「開発」タブが表示されました。開発タブを選択するとこんな感じです。

f:id:dz_dzone:20170815000521j:plain

手順その2 ~個人用マクロブックにマクロを記録してみよう~

このアイコンをクリックします。(「マクロの記録」ボタン)

f:id:dz_dzone:20170815001530j:plain f:id:dz_dzone:20170815001724j:plain

「マクロの保存先」を「個人用マクロブック」にして「OK」をクリックします。

f:id:dz_dzone:20170815002410j:plain

Excelの画面でセル「C2」をクリックします。その後「記録終了」ボタンをクリックします。

f:id:dz_dzone:20170815003704j:plain

手順その3 ~Visual Basic Editorを表示しよう~

左端の「Visual Basic」をクリックします。

f:id:dz_dzone:20170815005053j:plain

Visual Basic Editor」が開きました。

f:id:dz_dzone:20170815005213j:plain

プロジェクトウィンドウの「VBAProject (PERSONAL.XLSB)」のツリーを開いて、標準モジュールの「Module 1」をダブルクリックします。

f:id:dz_dzone:20170816090131j:plain

コードエディタが開きました。表示されているのは、先ほど「マクロの記録」で記録した内容です。

f:id:dz_dzone:20170816090418j:plain

コードの説明

  • Range("C2").Select :範囲 C2 を選択せよ

となりますので、実行すると範囲C2=セルC2が選択されます。

手順その4 ~簡単なマクロを作ってみよう~

コードウィンドウに以下の図のように文章を入力してみましょう。

  1. Sub HelloWorld() と入力してEnterを押すと、自動的に3行目に End Sub が入力されます
  2. 2行目の入力をします。字下げはTabキーでも半角スペースでもどちらでもよいです

f:id:dz_dzone:20170816092904j:plain

入力が終わったら、上書き保存しておきます。次に「Excel」アイコンをクリックしてExcel画面に戻ります。

f:id:dz_dzone:20170816093523j:plain

手順その5 ~マクロを実行してみよう~

「マクロ」をクリックします。

f:id:dz_dzone:20170816093824j:plain

先ほど作った「HelloWorld」を実行します。

f:id:dz_dzone:20170816093843j:plain

実行されました。「OK」をクリックするとウィンドウが閉じてマクロが終了します。

f:id:dz_dzone:20170816093903j:plain

いかがでしたか? 結構簡単だったでしょう?

おまけ ~マクロの解説~

  1. 1行目:Sub HelloWorld() :Subはマクロを開始するときの決まり文句です。HelloWorldはマクロ名、()は決まった書き方と今は覚えて下さい。
  2. 2行目:Msgbox "Hello World" :Msgboxは「メッセージボックスを表示しなさい」という命令。""で囲われた文字列 Hello World をメッセージボックスで表示しなさいということです。
  3. 3行目:End Sub :マクロを終了するときの決まり文句です。

 

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

VBAマクロ作成を気軽に始めてみよう! ~Word編~

WordでVBAマクロ作成を始めてみましょう。必要なのは Microsoft Wordだけです。準備は簡単、手順通りに進めていけば誰でも始めることが出来ます。

f:id:dz_dzone:20170811025426j:plain

目次

手順その1 ~開発タブを表示しよう~

どのタブでもいいので、リボンの任意の場所で右クリックします。

f:id:dz_dzone:20170811014159j:plain

「リボンのユーザー設定」をクリックします。

f:id:dz_dzone:20170811014335j:plain

「開発」にチェックを入れます。入れたら「OK」をクリックします。

f:id:dz_dzone:20170811014546j:plain

これで「開発」タブが表示されました。開発タブを選択するとこんな感じです。

f:id:dz_dzone:20170811014637j:plain

手順その2 ~Visual Basic Editorを表示しよう~

左端の「Visual Basic」をクリックします。

f:id:dz_dzone:20170811015015j:plain

Visual Basic Editor」が開きました。

f:id:dz_dzone:20170811015214j:plain

手順その3 ~標準テンプレートに標準モジュールを追加しよう~

プロジェクトウィンドウの「Normal」の中身を表示させます。

f:id:dz_dzone:20170811015637j:plain

開きました。次に「Normal」の「Microsoft Word Objects」で右クリックします。

f:id:dz_dzone:20170811020058j:plain

挿入>「標準モジュール」をクリックします。

f:id:dz_dzone:20170811020246j:plain

Normalに標準モジュール「Module 1」が作成されました。

f:id:dz_dzone:20170811020431j:plain

「Module 1」の名前を「MyMacro01」に変えます。プロパティウィンドウのオブジェクト名を「MyMacro01」に変更します。

f:id:dz_dzone:20170811020724j:plain

f:id:dz_dzone:20170811020733j:plain

ここまでで準備は終わりです。次はいよいよ実際にマクロを作ってみましょう。

手順その4 ~簡単なマクロを作ってみよう~

コードウィンドウに以下の図のように文章を入力してみましょう。

  1. Sub HelloWorld() と入力してEnterを押すと、自動的に3行目に End Sub が入力されます
  2. 2行目の入力をします。字下げはTabキーでも半角スペースでもどちらでもよいです

f:id:dz_dzone:20170811021233j:plain

入力が終わったら、上書き保存しておきます。次に「Word」アイコンをクリックしてWord画面に戻ります。

f:id:dz_dzone:20170811022501j:plain

手順その5 ~マクロを動かしてみよう~

「マクロ」をクリックします。

f:id:dz_dzone:20170811022846j:plain

先ほど作った「HelloWorld」を実行します。

f:id:dz_dzone:20170811022946j:plain

実行されました。「OK」をクリックするとウィンドウが閉じてマクロが終了します。

f:id:dz_dzone:20170811023009j:plain

いかがでしたか? 結構簡単だったでしょう?

おまけ ~マクロの解説~

  1. 1行目:Sub HelloWorld() :Subはマクロを開始するときの決まり文句です。HelloWorldはマクロ名、()は決まった書き方と今は覚えて下さい。
  2. 2行目:Msgbox "Hello World" :Msgboxは「メッセージボックスを表示しなさい」という命令。""で囲われた文字列 Hello World をメッセージボックスで表示しなさいということです。
  3. 3行目:End Sub :マクロを終了するときの決まり文句です。

 

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。

Word VBAで '現在のページを印刷する' マクロを作成すると1クリックで印刷出来るようになる

Wordで ' 現在のページを印刷する ' 場合、毎回、ファイル>印刷>設定:現在のページを印刷>印刷 と進んでいかなくてはならない。これが結構な手間であるため、VBAマクロを組んでボタン配置することにしました。
f:id:dz_dzone:20170809093300j:plain

コード

Sub PrintActivePage()
    ' ** 現在のページのみ印刷するマクロ **
    ActiveDocument.PrintOut Background:=True, Range:=wdPrintCurrentPage
End Sub

ボタン配置する

f:id:dz_dzone:20170809095349j:plain
これで一発で印刷が可能になりました。


にほんブログ村 IT技術ブログ VBAへ←記事が良かったら押して頂けると嬉しいです (*'▽'*)