特定のセルをR1C1形式で得る次の例では、Debug.Print により、イミディエイトウィンドウに書き出している。’現在選択されているセルをR1C1形式で得るDebug.Print Selection.Address(ReferenceStyle:=xlR1C1)’A4セルをR1C1形式で得るDebug.Print Range("A4").Address(Refere
更新情報
Excel-VBA 別ブックのデータを開かずに得る ExecuteExcel4Macro
別ブックのデータを、そのブックを開くことなく得るこの方法により、複数のブックからデータを抜き出して集計する時などに役立つ。次の例では、Debug.Print により、イミディエイトウィンドウに書き出している。例)Book1.xlsxブックの SheetAシートのR1C1(A1)セルのデータ
Excel-VBA 長いFor文処理を途中で中止させる(キャンセルで継続)ボタン
上のユーザーフォームの「Start」ボタンに書かれているのが、CommandButton1_Clickです。「Stop」ボタンに書かれているのが、CommandButton2_Clickです。「Start」とボタンで、長いFor文処理が始まります。途中で、中止する為には「Stop」ボタンを押します。「Stop」ボタンを
Excel-VBA ExcelからAccessのデータ(テーブル, クエリ)をCSVファイルに書き出す
AccessにCSVを書き出す為のプログラム「CSV書き出し」を書き、それをExcel側のプログラムで実行する例Access側にCSVを書き出すプログラム書くConst strFileName As String = "体重管理"Sub CSV書き出し() DoCmd.TransferText TransferType:=acExportDelim, TableName:="
Excel VBA教室 5 関数を作る(ユーザー定義関数)
Excelには、関数が存在するが、「ユーザー定義関数」として自分で関数を作ることができる。ユーザー定義関数の作成は、とても簡単です。VBE を開いて(Excel で Alt + F11)、標準モジュールに、例として次のコードを入力してみてください。Function 損益分岐点売上高(ByVal
Excel-VBA シート上のテキストボックス内の文字を取りだす
Sub test2() MsgBox ActiveSheet.Shapes.Range(Array("TextBox 1")).TextFrame2.TextRange.Characters.Text MsgBox ActiveSheet.Shapes.Range(Array("TextBox 3")).TextFrame2.TextRange.Characters.Text End Sub環境によって異なると思いますので、マクロの
Excel-VBA ユーザーフォームのTextBoxに入力した文字を、別ブックのユーザーフォームのTextBoxでも表示する(テキストファイルに書き出し&読み込み)
ユーザーフォームのTextBoxに入力した文字を、別ブックのユーザーフォームのTextBoxでも表示する(テキストファイルに書き出し&読み込み)下は、UserForm3 の TextBox12 に入力した文字を、別ブックでも利用できるように、「更新情報.txt」というテキストファイルに書き出して
Excel-VBA 「自動保存」オンの時は「名前を付けて保存」のタイミングに注意
上の図の左上にあるのが「自動保存」の機能。これがオンになっている時には「名前を付けて保存」のタイミングに注意です。これはVBAに限ったことではありません。この機能がないExcelや、この機能がオフになっている場合は、データを消去してから「名前を付けて保存」すれば
Excel-VBA OneDriveとの同期で ActiveWorkbook.Path, ThisWorkbook.Path が変わるので注意
OneDriveのクラウドと同期されているデスクトップやフォルダなどで「名前を付けて保存」する場合には注意が必要です。ここに Excelブックがあります。ActiveWorkbook.Path は、C:\Users\User名\OneDrive\デスクトップ\AAAです。同じ AAAフォルダ内に、「名前を付けて保存」し
Excel-VBA 列幅が足りないとRange.Findメソッドで検索できない
Range.Find メソッド (Excel) を使ってサーチする際、サーチ先の範囲の列幅が狭いと検索できない。例えば、以下はマイクロソフトのサイトに表示されている使用例ですが、下の例では、a1~a500 の範囲にある数値の2を検索しています。この時 a列の幅が狭く、数値が ### と表
Excel-VBA Application.Run で実行時エラー'1004':
Application.Run を使って別ブックのマクロを実行する時のエラーですセルC17には、「出納帳.xlsm」というブック名が入っています。 strSuitoName = Sheets(Sht_設定).Range("C17").Value Application.Run strSuitoName & "!UF3表示"今までは、この書き方で
Excel-VBA オートフィルターによる非表示セルには、Findメソッドによる検索は通用しない。WorksheetFunction.CountIf
これまでは、条件に当てはまるセルがあるかどうかを検索する為に、Findメソッドを利用していました。例えば、ある表の列にデータナンバーが入っていて、その列に検索したいデータナンバーがあるかどうかを調べる時など。ところが、その表にオートフィルターを使用してしまう
Excel-VBA 第一日曜日が何日かを調べる Weekday
日付をWeekday 関数で曜日を調べます。vbSunday なら日曜日。Sub FstSunday() Dim i As Long Dim lngYear As Long Dim lngMonth As Long Dim strDate As String Dim myWeekDay As String lngYear = Val(Range("C5").Value) '年 ln
Excel-VBA 閏年(うるう年)を判定 Day DateAdd
閏年は、調べたい年の、3月1日の前日の日にちを調べて、29日かどうかで判定する。Sub 閏年判定() Dim lngYear As Long Dim lngFebDay As Long lngYear = Val(Range("C5").Value) '年 lngFebDay = Day(DateAdd("d", -1, lngYear & "/3/1"
Excel-VBA セルに算式が入っているかどうか調べる HasFormulaプロパティ
セルに算式が入っているかどうか調べたい。セルの HasFormula プロパティが True なら、セルに算式が入っています算式が入っていたらユーザーフォームのテキストボックのBackColorを変えてロックをかけたい。(ロックするのではなく、Enabled = False にしてもいいが、文字が