Excel

セル指定により算出方法を変更する

各セルの指定 E18,G18 ・・・ 単価、数量データを記入するセル I18 ・・・ 算出方法を指定するセルとする(入力規則:切捨,切上,四捨五入)IF文で条件式真になったときの計算方法を指定するExample) =IF(ROUNDUP(E18*G18,0)<>0,IF(I18="切上",ROUNDUP(E18*G18,0), …

条件によりROUNDUP/ROUNDDOWN動作を切り替える

Private Sub btnCal1_Click() For rc = 8 To 12 cell_case = "I" & rc cell_result = "J" & rc cell1 = "C" & rc cell2 = "D" & rc cell1_x_cell2 = cell1 & "*" & cell2 cal_rule = Range(cell_case).Value Select Case cal_rule Case "切捨" Range(cell_re…

リストボックスの初期化・状態取得

初期選択状態の指定 InStr関数を使用しています 'strInstsの初期状態で「[野球][音楽]」などの様式の文字列 For i = 0 To lbxInsts.ListCount - 1 'リストボックスの0行から最終行まで反復処理 strTemp = "[" & lbxInsts.List(i, 1) & "]" lbxInsts.Selected…

文字コード変換

Sub encode_changer() Dim Filename_s As String Dim Filename_u As String Filename_s = "D:\www\public\cgi-tx\doc\sjis_file.txt" Filename_u = "D:\www\public\cgi-tx\doc\utf_8_file.txt" 'ShiftJis_to_utf8 "shift-jis", "utf-8", Filename_s, Filenam…

連想配列

Public Sub 連想配列の定義() Dim sheet_clt As String sheet_clt = "クライアント" Dim i As Long Set dicT = CreateObject("Scripting.Dictionary") ' For i = 1 To 20 ReDim Preserve list_clt_id(i) ReDim Preserve list_clt_name(i) list_clt_id(i) = W…

定数

Const cnsADO_CONNECT2 = "D:\www\public\cgi-tx\doc\vba\掲示板.mdb;"

カナ

ActiveCell.FormulaR1C1 = "最終商談日" ActiveCell.Characters(1, 2).PhoneticCharacters = "サイシュウ" ActiveCell.Characters(3, 2).PhoneticCharacters = "ショウダン" ActiveCell.Characters(5, 1).PhoneticCharacters = "ビ"

条件付き書式

「書式」メニュー→「条件付き書式」 行ごとに背景色を変える 以下を条件式に適用します。 ROWで行番号を取得し、MODで剰余を算出しその結果で背景色を切り替えます =MOD(ROW(),2)

コンボボックス

LinkedCell ・・・シート上のセルと同期することが出来る

VLOOKUP

検索結果を表示したいにセル次の式を入力します 対応行の列情報を取得できます D11セルの値に対応する第3列のデータを取得します =VLOOKUP(D11,クライアント!I2:L100,3,FALSE) 書式: VLOOKUP(検索値,範囲,取り出したいデータの列番号,検索の型) 検索…

 シートを検索する

 セルアドレスを取得する

ActiveCell.Row & " " & ActiveCell.Column

コントローラ(スピンボタン)

スピンボタン スピンボタンの値をID指定セルの値と同期するために シート変更イベント「Worksheet_Change」を監視 Private Sub SpinButton1_Change() Sheets("明細書印刷用").Range("A10").Value = SpinButton1.Value End Sub ' スピンボタンの値をID指定セ…

入力チェック

文字列幅のチェック Dim strYearMonth As String strYearMonth = Sheets("データ設定").Range("C11") If Len(strYearMonth) = 6 Then 'MsgBox strYearMonth & " " & Len(strYearMonth) Else MsgBox strYearMonth & " 対象年月は6桁で指定してください" Exit…

シート/セルの参照方法

頻出なのがシート「明細書一覧」のA1セルを参照するという場合 =明細書一覧!A1 セル「A1固定」ではなく 動的に変更した場合がある たとえば「X4のセル参照先のアドレスを記入しておく」 その場合は以下の書き方「INDIRECT」関数を使う。 =INDIRECT("明細書一…

チェックボックスの初期化

全てクリアするには「Clearメソッド」、 追加には「AddItemメソッド」を使う。 Me.cbx顧客企業名.Clear 'もっとかっこよくしたい 'max_rows = Worksheets("クライアント").Range("I" & Rows.Count).End(xlUp) '「マスターデータ」シートのI2〜I100を引用 For…

リストボックスの初期化

Private Sub lbox契約管理書_init() ' 列数を指定 lbox契約管理書.ColumnCount = 3 ' 列幅を指定 lbox契約管理書.ColumnWidths = "60;80;80" '最終行取得 lastRow = Worksheets("マスタコード").Range("L2").End(xlDown).Row With Worksheets("マスタコード"…

リストボックス・インデクス

データベースからのデータ取得

Sub 一覧取得() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = New ADODB.Connection Set rs = New ADODB.Recordset Dim strSQL Dim DB_FILE As String Dim SHEET_LIST As String DB_FILE = "C:\www\confidential\New登録スタッフデータ.m…