IntelliSense is a general term for a variety of code editing features including: code completion, parameter info, quick info, and member lists. IntelliSense features are sometimes called by other names such as “code completion”, “content assist”, and “code hinting.”
Sub Refresh_by_RefreshTable
Dim blnRefresh as Boolean
blnrefresh = .PivotTables("ピボットテーブル1").RefreshTable
If blnRefresh = True Then
MsgBox "更新しました!"
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With ActiveSheet
.PivotTables("売上").PivotCache.Refresh
End With
Application.EnableEvents = True
End Sub
The most important key combination to know is Ctrl+Shift+P, which brings up the Command Palette. From here, you have access to all of the functionality of VS Code, including keyboard shortcuts for the most common operations.
Sub Test_Intersect()
Dim rngPvt As Range
With ActiveSheet
Set rngPvt = Intersect(.Range(範囲1), .Range(範囲2))
If Not rngPvt Is Nothing Then
MsgBox rngPvt.Address
ElseIf rngPvt Is Nothing Then
MsgBox "Nothing"
End If
End With
End Sub
上のコードの5行目にある、Set~以降の範囲を変えて、試してみます。
2つの範囲が重なっている場合
まずはこちらの図のような範囲Aと範囲Bの場合。
範囲Aと範囲Bは、B2セルが交差していますね。
この時、Intersectメソッドを使ってみると…
Set rngPvt = Intersect(.Range("A3:C3"), .Range("B1:B8"))
このように、二つの範囲が交差している、B2セルを返してくれますね。
では次。
こちらの範囲Cと範囲Dは、C3セルからD4セルの範囲が交差していますね。
Intersectメソッドで見てみると…
Set rngPvt = Intersect(.Range("A3:D4"), .Range("C1:E8"))
この通り、交差している範囲を返してくれます。
3つの範囲が重なっている場合
では、こちらの場合はどうでしょうか。
E、F、Gの3つの範囲が交差していますね。
この範囲を、Intersectメソッドのパラメータにセットしてみると…
Set rngPvt = Intersect(.Range("B2:F10"), .Range("C3:E9"), .Range("D5:D7"))
ちゃんと、3つの範囲が交差した範囲を返してくれますね。
交差しない範囲の場合
最後はこちら。
こちらの範囲Hと範囲Iは、交差していません。
Intersectメソッドを使ってみると…
Set rngPvt = Intersect(.Range("B3:B6"), .Range("D1:D4"))
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With ActiveSheet
.PivotTables("売上").PivotCache.Refresh
End With
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngPvt As Range
With ActiveSheet
Set rngPvt = Intersect(Target, .Range("$A$1:$D$21"))
If Not rngPvt Is Nothing Then
Application.EnableEvents = False
.PivotTables("売上").PivotCache.Refresh
MsgBox "更新しました!"
Application.EnableEvents = True
End If
End With
End Sub
for char in 'Hello Notebook!':
print(char, end='\t')
セルには複数行のスクリプトを入力することができます。
入力が完了したら、今度は Ctrl + Enter としてみましょう。
すると、以下のような結果になるはずです。
選択セルが実行され「In [2]」となり、for文と内部のprint文の結果が表示されます。
今度は次のセルに選択が移りませんね。
Ctrl + Enter は現在のセルを実行するのみのショートカットキーです。
セルを修正して再実行する
セルは再編集をすることができます。
例えば先ほどのfor文内のprint文ですが、以下のように「\t」を「\n」に変更してみます。
for char in 'Hello Notebook!':
print(char, end='\n')
再度、Ctrl + Enter としてみましょう。
その結果がこちらです。
選択セルが実行され「In [3]」となり、修正後のセルの実行結果が上書き表示されます。
「In [3]」の番号はそのセルが何番目に実行されたセルかを表しますね。
このように、Jupyter Notebookはセル単位で入力、編集、実行をすることができます。
特徴的ですよね。
スクリプトを最初から実行する
エディタでスクリプトを実行するように、すべてのセルを最初から全部実行したいときは「Kernel」メニューの「Restart & Run All」を選択します。
すると、ダイアログで、以下のようなメッセージが表示されます。
Restart kernel and re-run the whole notebook?
Are you sure you want to restart the current kernel and re-execute the whole notebook? All variables and outputs will be lost.
var i = arr.length; //タテ(行数)= 3
var j = arr[0].length; //ヨコ(列数)= 6
//スプレッドシートのA2セルを起点として、配列arrをセットする
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('取引');
sheet.getRange(2, 1, i, j).setValues(arr);
Private Sub CheckBox123_Click()
With ActiveSheet.CheckBox123
If .Value = True Then
.BackColor = &HFFFF00
Else
.BackColor = &HFFFFFF
End If
End With
End Sub