[Excel]「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。」の対応案

「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。」の対応案

■その対応案1

保管場所を変える。

保管場所によって、例のメッセージがでる場合と出ない場合があります。

・デスクトップに保管されているのを開くと例のメッセージが出ません。

■その対応案2

Excelの設定を変える。

・Excel開きます。

・メニューの「ファイル」押下します。

・「オプション」押下します。

・「トラスト センター」押下します。

・「トラスト センターの設定」押下

・「信頼できる場所」押下

・「新しい場所の追加」押下

・パスにExcelファイルあるパスをコピーして貼り付けてから、OKボタン押下

・「OK」押下

[Excel]シート一覧取得

シート一覧取得

[Alt]+[F11]キーを押して「Microsoft Visual Basic for Application」の画面を表示させます。(もしくは、[開発]タブから[Visual Basic]をクリックしても同じ画面になります。)

[Ctrl]+[G]キーを押します。画面下部に[イミディエイト]という領域が表示されます。

以下のコードをコピー&ペーストして[Enter]キーを押します。

For Each n In ThisWorkbook.Sheets: debug.print n.name : next n

[Excel]ExcelでSQLite操作

ExcelでSQLite操作手順を共有いたします。

SQLiteForExcelをダウンロードする

https://github.com/govert/SQLiteForExcel/releases

SQLite For Excel Version 1.0 Zipファイルをダウンロードする。

・ダウンロードされたZipファイルを解凍する。

・解凍されたファイルの「Distribution」フォルダを開き、以下のファイルをコピーして作業用フォルダに貼り付ける。

 1.PCのスペックが32Bitの場合

  「Distribution」フォルダの中の以下

  SQLite.dll

  SQLite3_StdCall.dll

SQLiteForExcel.xls

  2.PCのスペックが64Bitの場合

   「Distribution」フォルダの中の以下

SQLite3_StdCall.dll

SQLiteForExcel_64.xls

   「Distribution」フォルダの「x64」フォルダ中の以下

 SQLite.dll

・SQLiteのDBファイルを作業フォルダの下におく。

 例えば、ファイル名:Test.sqlite3

・例えば、64Bitの場合、SQLiteForExcel_64.xlsを開き、標準モジュールの「Sqlite3Demo」のAllTests関数の以下のように変更する。

TestFile = “保存フォルダ\Test.sqlite3”

InitReturn = SQLite3Initialize(ThisWorkbook.Path)
ここで、ThisWorkbook.Path(=ActiveのExcelファイルがあるフォルダ)にSQLite.dllあることを再確認しておく。

・Select文確認

例えば、関数TestSqliteSelect作成して、以下のコードを埋め込む。

Public Sub TestSelectCustomize()
    #If Win64 Then
    Dim myDbHandle As LongPtr
    Dim myStmtHandle As LongPtr
    #Else
    Dim myDbHandle As Long
    Dim myStmtHandle As Long
    #End If
    Dim RetVal As Long
    
    Dim stepMsg As String
    
    Debug.Print "----- TestSelect Start -----"
    ' Open the database - getting a DbHandle back
    RetVal = SQLite3Open(TestFile, myDbHandle)
    Debug.Print "SQLite3Open returned " & RetVal
    
    '-------------------------
    ' Select statement
    ' ===============
    ' Create the sql statement - getting a StmtHandle back
    RetVal = SQLite3PrepareV2(myDbHandle, "SELECT * FROM " & TableName, myStmtHandle)
    Debug.Print "SQLite3PrepareV2 returned " & RetVal

    ' Start running the statement
    RetVal = SQLite3Step(myStmtHandle)
    If RetVal = SQLITE_ROW Then
        Debug.Print "SQLite3Step Row Ready"
        PrintColumns myStmtHandle
    Else
        Debug.Print "SQLite3Step returned " & RetVal
    End If
    
    
    Dim colCount As Long
    Dim colName As String
    Dim colType As Long
    Dim colTypeName As String
    Dim colValue As Variant
    
    Dim i As Long
    
    colCount = SQLite3ColumnCount(myStmtHandle)
    Debug.Print "Column count: " & colCount
    For i = 0 To colCount - 1
        colName = SQLite3ColumnName(myStmtHandle, i)
        colType = SQLite3ColumnType(myStmtHandle, i)
        colTypeName = TypeName(colType)
        colValue = ColumnValue(myStmtHandle, i, colType)
        Debug.Print "Column " & i & ":", colName, colTypeName, colValue
    Next
    
    
    ' Close the database
    RetVal = SQLite3Close(myDbHandle)

    Debug.Print "----- TestSelect End -----"
End Sub

[Excel]セル内文字列を別セルへ分割

Excelのセル内文字列を別セルへ分割する内容を共有します。

A1セルをB1セルとC1セルに分割したい場合

例えば、

A1セル値 

name:テスト太郎

B1セル数式

=LEFT(A1,FIND(“:”,A1)-1)

C1セル数式

=MID(A1,FIND(“:”,A1)+1,LEN(A1))

結果

B1セル

name

C1セル

テスト太郎

[Excel]重複データに色付け

Excelで重複データに色付けする手順を共有します。

1.重複チェックしたい列を選択します。

2.「ホーム」→「条件付き書式」→「セルの強調表示ルール」→「重複する値」順にメニューを選択します。

3.重複チェックした列に重複データのセルに背景色が変わっていることを確認する。