chevron_left

メインカテゴリーを選択しなおす

cancel
hikoblog https://hiko-blog.hatenadiary.com/

日々の社畜業務でのVBA業務改善を備忘録的に残し、同じようにふんずまった人の役に立てればいいかな♪

ヒコ
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/03/24

ヒコさんの人気ランキング

  • IN
  • OUT
  • PV
今日 05/28 05/27 05/26 05/25 05/24 05/23 全参加数
総合ランキング(IN) 圏外 圏外 圏外 圏外 圏外 圏外 圏外 1,039,880サイト
INポイント 0 0 0 0 0 0 0 0/週
OUTポイント 0 0 0 0 0 0 9 9/週
PVポイント 0 0 0 0 0 0 0 0/週
IT技術ブログ 圏外 圏外 圏外 圏外 圏外 圏外 圏外 9,983サイト
VBA 圏外 圏外 圏外 圏外 圏外 圏外 圏外 123サイト
※ランキング順位が「圏外」と表示される時は?
今日 05/28 05/27 05/26 05/25 05/24 05/23 全参加数
総合ランキング(OUT) 58,876位 59,192位 57,221位 56,074位 53,593位 52,808位 54,065位 1,039,880サイト
INポイント 0 0 0 0 0 0 0 0/週
OUTポイント 0 0 0 0 0 0 9 9/週
PVポイント 0 0 0 0 0 0 0 0/週
IT技術ブログ 325位 321位 313位 295位 249位 227位 227位 9,983サイト
VBA 5位 5位 5位 5位 3位 3位 3位 123サイト
※ランキング順位が「圏外」と表示される時は?
今日 05/28 05/27 05/26 05/25 05/24 05/23 全参加数
総合ランキング(PV) 圏外 圏外 圏外 圏外 圏外 圏外 圏外 1,039,880サイト
INポイント 0 0 0 0 0 0 0 0/週
OUTポイント 0 0 0 0 0 0 9 9/週
PVポイント 0 0 0 0 0 0 0 0/週
IT技術ブログ 圏外 圏外 圏外 圏外 圏外 圏外 圏外 9,983サイト
VBA 圏外 圏外 圏外 圏外 圏外 圏外 圏外 123サイト
※ランキング順位が「圏外」と表示される時は?
  • 文字列のCheck

    文字列のCheck

    先生:このマクロな、「A列に ABC がある」「C列が 0 や」「G列に NDEF がある」かを調べるやつやで。 生徒:なんで配列使ってんの? 先生:ええ質問やな!配列使うと、まとめてデータ読み込んで、まとめて処理できるからめっちゃ速いんや。1個ずつ見てたら遅いからな。 生徒:この InStr って何してるん? 先生:「この文字入ってるか〜?」って調べる関数や。たとえば InStr(aVal, "ABC") やったら、「aVal の中に ABC あるかな?」ってことやで。 生徒:ほんで、Z列にはどう書いてんの? 先生:ループ終わったあと、Z列(2行目から)に結果の配列を一気に書いてるんや。せや…

  • A1セル値チェックしてC1に書き込み

    A1セル値チェックしてC1に書き込み

    生徒:先生、このコードって何してるん?先生:A1のセルに「対象1」か「対象2」って書いてあるか見てるねん。生徒:で、書いてあったらどうなんの?先生:「対象1」って書いてあったら、C1に「置換文字1」って書く。先生:「対象2」やったら、「置換文字2」って書く。先生:どっちもちゃうかったら、C1には何も書かへん。生徒:InStrってなんや?先生:文字が入ってるかどうか調べる関数や。たとえば「こんにちは」っていう文字の中に「にち」があるかどうかを調べる感じや。生徒:LCaseって?先生:全部小文字にする関数や。大文字小文字を区別せんようにするためやな。生徒:なるほどな。A1の文字を見て、C1に何を書…

  • 「ソート解除後のデータ削除

    「ソート解除後のデータ削除

    先生: 「このコードはな、Excelでソート(並び替え)を元に戻してから、データを消すっていう処理をしてるんや。」 生徒: 「ふむふむ、並び替えを元に戻す?それってどういうこと?」 先生: 「たとえばな、表の中で“名前をあいうえお順に並べる”みたいなことをした後、その並びをリセットして、元の状態に戻すんや。」 生徒: 「あー、並び替えたのをやめて、最初の順番に戻すってことか!」 先生: 「そうそう。そしてその後、その表の中のデータだけを消すねん。表のタイトルとか枠はそのままでな。」 生徒: 「データだけ消すんやな!全部じゃないんや!」 先生: 「その通り!あとな、このコードは“テーブル”ってい…

  • 差分をチェックして書き込み

    差分をチェックして書き込み

    先生: 「このコードは、Excelのシートで、C列の値とその行の一番右にある値を比べて、その差を表示するものなんや。」 生徒: 「ふむふむ、それってどういうこと?」 先生: 「たとえばC列に“予定の数値”、右の方に“実際の数値”があるとするやろ?それを比べて、差があるか調べるんや。」 生徒: 「C列と右端の数字を比べるんやな。」 先生: 「そうそう。まずは、C列にどこまでデータがあるかを調べて、2行目から最後の行まで順番に見ていくんや。」 生徒: 「行ごとに見るってことやね。」 先生: 「そんで、その行の中で、一番右にあるセルを見つける。つまり、一番最後に入力されてる数字やな。」 生徒: 「な…

  • 集計結果作成

    集計結果作成

    先生: 「このコードは、指定したフォルダ内のExcelファイルから、データを集めて、新しいExcelファイルを作成するものなんや。」 生徒: 「ふむふむ、それってどういうこと?」 先生: 「まず最初に、どのフォルダからデータを集めるかを選ぶ画面が出てくるんや。」 生徒: 「あー、フォルダを選ぶんやね。次は?」 先生: 「フォルダを選んだ後、その中にあるExcelファイルを1つずつ開いて、その中の 'data' って名前のシートを探してくるんや。」 生徒: 「'data'シートを探すんやな。」 先生: 「そう!もし 'data' シートがあったら、その中身を新しいExcelファイルにコピーするん…

  • シート名検索して転記

    シート名検索して転記

    生徒: 先生、このコードは何をしてるんですか? 先生: このコードは、あるシートにあるデータの中から、「●」って印がついてる行だけを取り出して、それを別のひな形のブックに転記するんやで。 生徒: なるほど、でも「●」印をどうやって探すんですか? 先生: そこは、InStrっていう関数を使ってるんや。これを使うと、指定した文字列(ここでは「●」)が含まれてるかをチェックできるんやで。あいまい検索もできるから、部分一致でもOKや。 生徒: あいまい検索?つまり「●」が部分的に入ってても探せるってこと? 先生: その通り!たとえば「xxx●」や「●abc」みたいに、どこかに「●」があればその行を探し…

  • シートの転記

    シートの転記

    生徒:先生、このコードは何をしてるんですか?先生:このコードは、シート1のA列、B列、D列、F列、H列のデータを取り出して、それをシート2に転記するものやで。 生徒:どうやってデータを取り出してるんですか?先生:まず、シート1の最後の行を確認して、そのデータを配列にまとめて取り出すんや。その配列を使って、シート2に一気にデータを転記するんや。 生徒:配列にまとめるってどういうことですか?先生:配列にデータをまとめることで、シート1からシート2に一度に大量のデータを転記できるようになるんや。これで効率がめっちゃ良くなるんやで。 生徒:シート2にはどうやって転記されるんですか?先生:シート2では、…

  • グラフのデータ抽出

    グラフのデータ抽出

    Sub グラフデータ抽出() Dim NumberOfRows As Integer Dim X As Object Dim Counter As Integer ' Counter を 2 で初期化 Counter = 2 ' アクティブなグラフが存在するか確認 If Not ActiveChart Is Nothing Then ' 最初の系列の値から行数を取得 NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values) ' "Data" シートにデータを書き込む With Worksheets("Data") ' X軸の値を…

  • コメントを追加する

    コメントを追加する

    Sub コメントを追加する() ’例)A列が●●●の場合 数値の+/-の判断コメント追加 Dim i As Long Dim lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row ' A列の最終行を取得 For i = 1 To lastRow If IsNumeric(Cells(i, 1).Value) Then ' 数値が入っているかチェック If Cells(i, 1).Value > 0 Then Cells(i, 3).Value = "●●●の増加+" & Format(Cells(i, 1).Value, …

  • 条件による転記作業

    条件による転記作業

    Sub ExtractColumnsWithNNNUsingArray() Dim wsSearch As Worksheet Dim wsTarget As Worksheet Dim lastRow As Long Dim targetRow As Long Dim i As Long Dim searchValue As String Dim dataArr As Variant Dim resultArr() As Variant Dim resultIndex As Long ' 検索結果シートを設定 Set wsSearch = ThisWorkbook.Sheets("Data"…

  • 2つのsheet比較と色付け 合計追加版

    2つのsheet比較と色付け 合計追加版

    Sub 2つのsheet比較と色付け() Dim wsPrev As Worksheet Dim wsCurr As Worksheet Dim wsResult As Worksheet Dim lastRowPrev As Long Dim lastRowCurr As Long Dim lastColPrev As Long Dim lastColCurr As Long Dim dictPrev As Object Dim dictCurr As Object Dim i As Long, j As Long Dim key As Variant Dim diffRow As Long…

  • C列のデータを基にD列を更新

    C列のデータを基にD列を更新

    Sub C列のデータを基にD列を更新() Dim lastRow As Long Dim i As Long Dim data As Variant ' 配列としてデータを格納 Dim result As Variant ' 結果を格納する配列 ' C列の最終行を取得 lastRow = Cells(Rows.Count, "C").End(xlUp).Row ' C列のデータを配列に読み込む data = Range("C1:C" & lastRow).Value ' 結果を格納する配列を準備(同じサイズの配列) ReDim result(1 To lastRow, 1 To 1) ' 配列…

  • バックグラウンドでの列削除処理

    バックグラウンドでの列削除処理

    Sub バックグラウンドでの列削除処理() Dim ExcelApp As Object Dim Workbook As Object Dim FilePath As String ' Excelファイルのパス(実際のパスに変更してください) FilePath = "C:\path\to\your\file.xlsx" ' ファイルパスを変更 ' Excelをバックグラウンドで起動 Set ExcelApp = CreateObject("Excel.Application") ExcelApp.Visible = False ' Excelを非表示にする ExcelApp.DisplayAl…

  • バックグラウンドでの行削除処理

    バックグラウンドでの行削除処理

    Sub バックグラウンドでの行削除処理() ' 条件付き書式を削除 ' データ入力規則を削除 Dim ExcelApp As Object Dim Workbook As Object Dim FilePath As String Dim LastRow As Long Dim MaxLastRow As Long Dim LastRows(1 To 26) As Long ' A列からZ列までの最終行を格納する配列 Dim DeleteRange As Object Dim Col As Integer ' Excelファイルのパス FilePath = "C:\path\to\your\f…

  • 不要行列の削除方法 色々

    不要行列の削除方法 色々

    Sub 3000行以下削除() ' 条件付き書式を削除 ' データ入力規則を削除 Dim LastRow As Long Dim MaxLastRow As Long Dim LastRows(1 To 26) As Long ' A列からZ列までの最終行を格納する配列 MaxLastRow = 0 ' 初期値として0を設定 ' A列からZ列までを配列に格納 For Col = 1 To 26 ' A列(1) から Z列(26)まで LastRows(Col) = Cells(Rows.Count, Col).End(xlUp).Row ' 各列の最終行を配列に格納 If LastRows(C…

  • ファイル統合

    ファイル統合

    Sub ファイル統合() Dim folderPath As String Dim fileName As String Dim wb As Workbook Dim wsSource As Worksheet Dim wsDest As Worksheet Dim lastRow As Long Dim destRow As Long Dim dataArray() As Variant Dim combinedData() As Variant Dim i As Long, j As Long Dim dataIndex As Long Dim savePath As String Dim…

  • セル値を 文字列として変換

    セル値を 文字列として変換

    Sub セル値を文字列へ() Dim cell As Range Dim result As String Dim rng As Range ' 範囲選択用のダイアログを表示 On Error Resume Next ' ユーザーがキャンセルした場合のエラー処理 Set rng = Application.InputBox("セル範囲を選択してください", Type:=8) ' Type:=8 は範囲選択を意味します On Error GoTo 0 ' エラー処理を元に戻す ' ユーザーが範囲を選択しなかった場合の処理 If rng Is Nothing Then MsgBox "範囲が選択さ…

  • Access 汎用的な関数

    Access 汎用的な関数

    1. Nz関数 Nzは、Null値を他の値に置き換えるための関数です。 使い方: Nz([フィールド名], 代替値) 例:Nz([Amount], 0)これは、[Amount]がNullの場合、0を返します。 2. DateAdd関数 DateAddは、日付に特定の間隔を追加する関数です。 使い方: DateAdd("間隔", 数量, 日付) 例:DateAdd("d", 5, [OrderDate])これは、[OrderDate]の日付に5日を加算します。 3. DateDiff関数 DateDiffは、2つの日付の差を指定した単位で計算します。 使い方: DateDiff("間隔", 日付…

  • フォルダー選択

    フォルダー選択

    Sub フォルダー選択() Dim folderPath As String Dim dialog As FileDialog Dim initialFolder As String ' 初期選択フォルダーを設定 initialFolder = "C:\Users\YourUsername\Documents" ' 任意のフォルダーパスに変更 ' フォルダー選択のダイアログを作成 Set dialog = Application.FileDialog(msoFileDialogFolderPicker) ' 初期フォルダーを設定 dialog.InitialFileName = initial…

  • 複数条件でデータを検索して抽出する

    複数条件でデータを検索して抽出する

    Sub 複数条件でデータ検索() Dim ws As Worksheet Dim lastRow As Long Dim dataRange As Range Dim dataArray As Variant Dim resultArray() As Variant Dim specifiedItem2 As String Dim specifiedItem3 As String Dim i As Long, resultRow As Long Dim folderPath As String Dim fileName As String Dim newBook As Workbook Dim…

ブログリーダー」を活用して、ヒコさんをフォローしませんか?

ハンドル名
ヒコさん
ブログタイトル
hikoblog
フォロー
hikoblog

にほんブログ村 カテゴリー一覧

商用