Skip to content

Instantly share code, notes, and snippets.

View object1985's full-sized avatar

tonaise object1985

View GitHub Profile

1シート内の不要な情報削除

Ctrl + Endで空白行・列に飛ぶならその行・列を全選択し行・列の削除を行う。DELETEキー押下ではない

不要シート削除

情報のないSheet2,Sheet3等。見やすさ向上にもつながるので個人的に心がけている

不要オブジェクト削除

不要な非表示のシートやセル、図形描画

セル結合はしない

とある1MBくらいのエクセルファイル起動に1分掛かっていた。
セル結合をやめると2、3秒起動に変わったそうな。なるべくセル結合はしない方が軽いのかも。

揮発性関数に関して

@object1985
object1985 / index.ps1
Last active May 1, 2020 07:34
はじめてWindowsコマンドプロンプトを使う人向けの練習帳。そのうちPowerShell用に更新予定。
--以下powershell用に見直し予定
--ドス(dos)プロンプトコマンド(コマンドプロンプト)練習
【参考】http://www.atmarkit.co.jp/fwin2k/win2ktips/230cmdprompt/cmdprompt.html
・簡易編集モード/挿入モードの選択
プロパティ > オプションタブ > 簡易編集モードにチェック
常時、範囲選択モードになり右クリックでクリップボードの貼り付けを行う。
もちろんアスキー(文字)のみ貼り付け可能。
・フォントの設定
プロパティ > フォントタブ で設定。
@object1985
object1985 / printAllSheetName.vba
Created May 1, 2020 02:59
全シート名を出力する
'シート名を取得したいブックを開いてAlt + F11でVBAエディタを開く。
'Ctrl + Gでイミディエイトウィンドウを起動する
'下記を入力してEnterを押す
For each i In thisworkbook.Sheets:debug.Print i.name:next i
'表示されたシート名をコピーして完了。
'※ちなみに取得順は一番左のSheetから右方向に取得される。
@object1985
object1985 / SetZoomAllSheet.vba
Created May 1, 2020 02:57
全シートに固定倍率設定し1シート目を表示
‘イミディエイトウィンドウで以下を実行
‘全シートに対して繰り返しzoom(倍率)を設定する(数値は適宜修正すること)
‘また最後に1シート目を選択するようにしている。
‘非表示シート、保護シートへの制御はないので適宜確認すること。
for each i in worksheets:i.select:activewindow.zoom=90:next i : sheets(1).select
@object1985
object1985 / DeleteRowsByUseUnion.vba
Created May 1, 2020 02:56
Union関数を使った特定Range内で空白行を削除するサンプル
Sub deleteBlankRow()
Debug.Print Now & "blank rows delete start"
Dim rng As Range
Dim r1 As Long 'ターゲット行
Dim c1 As Long '開始列
Dim c2 As Long '終了列
Dim counter As Long
Dim deleteTargetRows As Range '削除する行集合
r1 = 5000
c1 = 1
@object1985
object1985 / collectSample.vba
Created May 1, 2020 02:42
複数シートの特定箇所を1シート目に集約するサンプル
Sub getTableList()
Dim counter As Long : counter = 0
Dim currentMaxRow As Long : currentMaxRow = 1
Debug.Print Now & "copy start"
For Each i In Worksheets
'1シート目は集計用のシートのため除外
If counter <> 0 Then
'コピーする最終行を取得
With i.UsedRange
MaxRow = .Rows(.Rows.Count).Row
@object1985
object1985 / progressBarSample.vba
Created May 1, 2020 02:42
プログレスバーとして進行中を表示するサンプル
'ハング誤認防止のため、ステータス表示
Application.StatusBar = "処理実行中....(現在 出力情報編集中)"
'描画更新停止
Application.ScreenUpdating = False
''''''''
'処理記述
''''''''
@object1985
object1985 / clear.vba
Created May 1, 2020 02:40
色々なデータ消去について
''''''''''''''''''
'1.選択範囲の内容をすべて消去
'Clear メソッドで消去される内容は、値、数式、書式、コメント
'セルの全ての内容消去
Cells(1,1).Clear
'1行目の内容消去
Rows(1).Clear
'1列目の内容消去
Columns(1).Clear
@object1985
object1985 / forStatementByPL-SQL.sql
Created April 30, 2020 07:50
PLSQL簡単な繰り返し文
--■繰り返し文
--1万回繰り返しINSERTする
BEGIN
FOR i IN 1..10000 LOOP
INSERT INTO TEST_TABLE VALUES(i,'TEST'||TO_CHAR(i));
END LOOP;
COMMIT;
END;
@object1985
object1985 / db2batch.md
Created April 30, 2020 07:41
db2batchで繰り返し数を指定する方法-BGBLK

IBMのDB、DB2には「db2batch」というベンチマーク・ツールがあります。
これはSQLの処理時間を計るツールです。
さらに複数SQLの測定や各種オプションがあるので開発〜テスト時に役立つかと思います。

例えばこんなものです。 以下は4回繰り返す例 => BGBLK を使用します

--例)sample.sql というファイル

--#BGBLK 4