VBAを活かせる仕事(135件)

VBA
の案件月額単価相場

[案件数]

平均単価:
592,500

最高単価:
1,500,000

最低単価:
350,000

  • 単価

    500,000 550,000 /月額

    最寄駅
    豊洲駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 金融系システム環境準備運用支援にて VBA,Excelの経験者を募集しています! ◆想定作業◆ ・銀行システムのプログラム構成を管理 ・GitやSVNを用いたソース管理 ・リリース作業や環境準備を実施 ・関連ツールの改修や運用手順を整備 ・説明資料や各種ドキュメントを作成 ~~~~...

    詳細はこちら
  • 単価

    480,000 530,000 /月額

    最寄駅
    豊洲駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 銀行業向け構成管理リリース業務にて VBA,Excelの経験者を募集しています! ◆想定作業◆ ・GitやSVNを用いたプログラム管理 ・システムのリリース作業を実施 ・開発環境の準備や関連ツールを改修 ・運用手順書や説明資料を作成・改訂 ・プログラム管理に関する運用を支援 ~~~...

    詳細はこちら
  • 単価

    680,000 780,000 /月額

    最寄駅
    新橋駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 食品業向けBI化PoC支援にて PowerBI,DAXの経験者を募集しています! ◆想定作業◆ ・Power BIダッシュボードの新規構築 ・Power QueryによるETL設計と実装 ・スタースキーマのデータモデル設計 ・DAXメジャーによる業務計算ロジック実装 ・既存帳票との数値突合と...

    詳細はこちら
  • 単価

    500,000 600,000 /月額

    最寄駅
    東銀座駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 電気業向けSAP導入移行ツール開発支援にて VBA,COMPANYの経験者を募集しています! ◆想定作業◆ ・SAP導入に伴う移行作業支援 ・業務ツールの新規作成対応 ・既存VBAツールの改修業務 ・データ加工およびチェック作業 ~~~~~~~~~~~~~~~~~~~~ 他お任せしたいPJは複数あ...

    詳細はこちら
  • 単価

    450,000 500,000 /月額

    最寄駅
    田町駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 不動産業向け請求システム改修支援にて VBA,SQLの経験者を募集しています! ◆想定作業◆ ・課題改善に向けたEUC改修 ・ヒアリングと業務改善推進 ・要件整理および仕様把握 ・効率化に向けた機能作成 ~~~~~~~~~~~~~~~~~~~~ 他お任せしたいPJは複数ありますので、 ご希望のご...

    詳細はこちら
  • 単価

    520,000 570,000 /月額

    最寄駅
    茅場町駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 基幹システム設計調査業務にて VBA,SQLの経験者を募集しています! ◆想定作業◆ ・基幹システム等の設計確認業務 ・プログラムからの設計書作成 ・設計書を基にしたフロー確認 ・コード解析とドキュメント化 ~~~~~~~~~~~~~~~~~~~~ 他お任せしたいPJは複数ありますので、 ご希望...

    詳細はこちら
  • 単価

    600,000 700,000 /月額

    最寄駅
    新橋駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 会計業向けシステム開発支援にて SQL,ETLの経験者を募集しています! ◆想定作業◆ ・連結会計パッケージの開発を担当 ・システムの設計から開発を実施 ・テスト工程や移行業務を担当 ・SQLやETLを用いた開発を推進 ~~~~~~~~~~~~~~~~~~~~ 他お任せしたいPJは複数...

    詳細はこちら
  • 単価

    500,000 600,000 /月額

    最寄駅
    田町駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 業務システム運用支援にて VBA,Pythonの経験者を募集しています! ◆想定作業◆ ・既存業務システムの概要・構成習得 ・システム環境構築および設定変更 ・業務システムの運用維持・エラー対応 ・開発チームと連携した改善支援 ・システム間連携やデータ保存の対応 ~~~~~~~~~...

    詳細はこちら
  • 単価

    400,000 500,000 /月額

    最寄駅
    府中駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 金融業向けEUC開発支援にて VBA,ExcelVBAの経験者を募集しています! ◆想定作業◆ ・金融業界向けEUCシステムの開発支援 ・要件定義からテストまでの一貫対応 ・Excel VBAを用いた業務ツール開発 ・既存EUCの設計・開発対応 ・要件整理およびテスト対応 ~~~~...

    詳細はこちら
  • 単価

    400,000 450,000 /月額

    最寄駅
    狭山市駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 公共向け業務システム開発支援にて Access,VBAの経験者を募集しています! ◆想定作業◆ ・公共向け業務システムの開発支援 ・Accessの設計からテストまで担当 ・フォーム・レポートの新規設計 ・SQLServerを利用したシステム開発 ・ストアドプロシージャの作成・対応 ...

    詳細はこちら
  • 単価

    600,000 700,000 /月額

    最寄駅
    桜木町駅
    スキル
    職種
    契約形態
    業務委託

    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 損益管理システム開発支援にて インフラ設計,VBAの経験者を募集しています! ◆想定作業◆ ・品種別損益明細計算システムの開発 ・利用者との要件・仕様整理 ・Excel VBAによる設計・製造 ・ドキュメント作成 ・システム試験対応 ~~~~~~~~~~~~~~~~~~~~ 他お...

    詳細はこちら
  • 単価

    500,000 520,000 /月額

    最寄駅
    千代田区内
    スキル
    職種
    特徴
    契約形態
    業務委託

    ■銀行EUCシステム開発業務  ○法人向け口座開設業務のシステム化に伴う、Accessを用いたEUCシステムの開発をご担当いただきます。  ・設計書作成  ・テスト仕様書作成  ・開発  ・保守対応

    詳細はこちら
  • 500,000 550,000 /月額
  • 豊洲駅
  • 作業内容
    ▍環境面:リモート併用相談可! ▍インボイス未登録の方OKです! 金融系システム環境準備運用支援にて VBA,Excelの経験者を募集しています! ◆想定作業◆ ・銀行システムのプログラム構成を管理 ・GitやSVNを用いたソース管理 ・リリース作業や環境準備を実施 ・関連ツールの改修や運用手順を整備 ・説明資料や各種ドキュメントを作成 ~~~~~~~~~~~~~~~~~~~~ 他お任せしたいPJは複数ありますので、 ご希望のご条件、内容をお聞かせください!
  • 必須スキル
    ◎必要スキル・経験◎ ・構成管理に特化した業務経験のある方 ・VBAを利用した業務経験のある方 ・DOSコマンドの利用経験のある方 ・Excel関数を利用した業務経験のある方 ・説明資料等のドキュメント作成経験のある方 ◎尚可・歓迎◎ オンサイト作業が可能な方! _ _ ―――――――――――――――――――― ◎給与・報酬◎ 500,000円 ~ 550,000円(税込) あくまでも目安ですのでご相談下さい! _ ――――――――――――――――――――
  • 契約期間
    即日~
  • 面談回数
    2回

VBAとは?

VBAの案件・業界分布について

VBAは、Visual Basic for Applicationsの略。 マイクロソフトが1990年代に開発したプログラミング言語・Microsoft Visual Basicを、 同社製品のMicrosoft Officeに搭載したものが、VBAです。 Office製品があればだれでも手軽に利用でき、習得が容易で開発しやすいのも特徴。 主にExcel、Accessで、「マクロ」とよばれる自動処理手順を記述するためのプログラミング言語です。

データを元に、自動で帳票出力やメール送信を行ったり、数万行のデータの集計、分析、レポート化したり、 入力フォームからのボタン動作を定義できるので、ファイル上の作業効率化を図ることができます。

ただ、VBAは、WEBアプリケーションのように、不特定多数のアクセスを想定して開発されたものではなく、 あくまでも、ファイル内のデータを参照したり集計したりするための言語です。 活用される場面が限定され、オプション的な使い方になりがちですが、業種を問わず、 ほとんどの企業でOffice製品を使っているため、需要のすそ野は広いといえます。

ビジネス用のツールとしては、全世界で認知されているOffice。 この状況が続く限り、VBA開発者は必要とされ続けるでしょう。

VBAには、オデッセイ社が実施している「VBAエキスパート」という資格があります。 Excel、Accessのマクロ・VBAのスキルを証明する資格で、

  • ⚫ExcelVBAベーシック
  • ⚫ExcelVBAスタンダード
  • ⚫AccessVBAベーシック
  • ⚫AccessVBAスタンダード

の4科目あり、ExcelVBAスタンダード、AccessVBAスタンダード2科目を取得すると、 「VBAエキスパート スタンダードクラウン」という称号が贈られます。 「資格保有が就職や転職に有利に働く」と言い切れるわけではありませんが、 「VBAスキルの証明書」として活用できます。

【VBAのサンプルコード】

⚫ストップウォッチを作るサンプル。

ボタンを押すと0からスタートして表示が進み、もう一度ボタンを押すとストップする。

Private blnStop As Boolean
Private blnStart As Boolean

Sub StopWatch()
    Dim dblTimer As Double
    If blnStart = True Then
        blnStop = True
        Exit Sub
    End If
    blnStart = True
    blnStop = False
    dblTimer = Timer
    Do Until blnStop = True
        Cells(1, 1) = Int((Timer - dblTimer) * 100) / 100
        DoEvents
    Loop
    blnStart = False
    blnStop = False
End Sub

⚫棒グラフ、折れ線グラフのサンプルマクロ

2つの商品の、月ごとの売り上げ金額と昨年比を棒グラフ、折れ線グラフで表す。

Sub sample1()
    Dim i As Integer '系列のFor~Nextで使用
    Dim rowMax As Long 'グラフ範囲の最終行
    Dim colMax As Long 'グラフ範囲の最終列
    Dim MyRange As Range 'グラフ範囲
    Dim chartObj As ChartObject 'Chartオブジェクトのコンテナ

    rowMax = Cells(Rows.Count, 1).End(xlUp).Row 'グラフ範囲の最終行
    colMax = Cells(2, Columns.Count).End(xlToLeft).Column 'グラフ範囲の最終列
    Set MyRange = Range(Cells(1, 1), Cells(rowMax, colMax)) 'グラフ範囲

    'Chartを追加、グラフ範囲の右隣に、グラフ範囲の倍の大きさで作成
    Set chartObj = ActiveSheet.ChartObjects.Add(MyRange.Width, MyRange.Top, MyRange.Width * 2, MyRange.Height * 2)

    '追加されたChartオブジェクトに対する処理
    With chartObj.Chart
        '元データ範囲の設定
        .SetSourceData MyRange
        'タイトル表示
        .HasTitle = True
        .ChartTitle.Text = "=" & MyRange.Cells(1, 1).Address(ReferenceStyle:=xlR1C1, External:=True)
        '全系列に対する処理
        For i = 1 To .SeriesCollection.Count
            With .SeriesCollection(i)
                Select Case i
                Case 1, 3 '売上金額
                    .ChartType = xlColumnClustered '縦棒グラフ
                    .AxisGroup = 1 '主軸
                    .ApplyDataLabels 'データラベル表示
                    .DataLabels.NumberFormatLocal = "#,##," 'データラベルの表示形式
                    .Interior.Color = Cells(2, i + 1).Interior.Color '棒グラフの色
                Case 2, 4 '昨年比
                    .ChartType = xlLine '折れ線グラフ
                    .AxisGroup = 2 '第2軸
                    .Border.Color = Cells(2, i + 1).Interior.Color '折れ線グラフの色
                End Select
            End With
        Next
        '主軸の書式設定
        .Axes(xlValue).TickLabels.NumberFormatLocal = "#,###," '表示形式
        '第2軸の書式設定
        .Axes(xlValue, xlSecondary).MinimumScale = 0.8 '最小値
        .Axes(xlValue, xlSecondary).MaximumScale = 1.2 '最大値
        .Axes(xlValue, xlSecondary).MajorUnit = 0.05 '目盛間隔
        .Axes(xlValue, xlSecondary).TickLabels.NumberFormatLocal = "0%" '表示形式
    End With
End Sub
Sub sample2()
    Dim i As Long '系列のFor~Nextで使用
    Dim rowMin As Long 'グラフデータ範囲の開始行
    Dim rowMax As Long 'グラフデータ範囲の最終行
    Dim strFormula As String 'グラフデータ範囲の設定文字列
    Dim strExternal() As String 'グラフのSERIES関数の引数毎に分割した文字列
    Dim strAddress() As String 'ADDRESS文字列をシートとRANGE指定に分割した文字列
    Dim newAddress1 As String 'SERIES関数の新しい系列名のADDRESS
    Dim newAddress2 As String 'SERIES関数の新しい系列値のADDRESS

    'Chartオブジェクトに対する処理
    With ActiveSheet.ChartObjects(1).Chart
        '全系列に対する処理
        For i = 1 To .SeriesCollection.Count
            'グラフデータ範囲の設定文字列
            strFormula = .SeriesCollection(i).Formula
            '=SERIES(引数・・・)を引数だけにする
            strFormula = Replace(Replace(strFormula, "=SERIES(", ""), ")", "")
            'SERIES関数の引数毎に分割
            strExternal = Split(strFormula, ",")

            '系列名(SERIES関数の第2引数)の処理
            'ADDRESS文字列をシートとRANGE指定に分割、ADDRESSにブック名が入っている場合は消去
            strAddress = Split(Replace(strExternal(1), "[" & ThisWorkbook.Name & "]", ""), "!")
            '系列名の開始行
            rowMin = Worksheets(strAddress(0)).Range(strAddress(1)).Item(1).Row
            '系列名の最終行
            rowMax = Worksheets(strAddress(0)).Cells(Rows.Count, Worksheets(strAddress(0)).Range(strAddress(1)).Item(1).Column).End(xlUp).Row
            'SERIES関数の新しい系列名のADDRESS
            newAddress1 = Worksheets(strAddress(0)).Range(strAddress(1)).Resize(rowMax - rowMin + 1, 1).Address(External:=True)

            '系列値(SERIES関数の第3引数)の処理
            'ADDRESS文字列をシートとRANGE指定に分割、ADDRESSにブック名が入っている場合は消去
            strAddress = Split(Replace(strExternal(2), "[" & ThisWorkbook.Name & "]", ""), "!")
            'SERIES関数の新しい系列値のADDRESS
            newAddress2 = Worksheets(strAddress(0)).Range(strAddress(1)).Resize(rowMax - rowMin + 1, 1).Address(External:=True)

            'グラフデータ範囲の再設定
            .SeriesCollection(i).Formula = "=SERIES(" & _
                strExternal(0) & "," & _
                newAddress1 & "," & _
                newAddress2 & "," & _
                i & ")"
        Next i
    End With
End Sub

VBAのフレームワーク

VBAはOfficeファイルの作業効率化のためのプログラム言語です。 アプリケーションを作る目的で開発されているわけではないため、フレームワークはありません。

VBAについて

VBAの案件はCやJAVAと比べると多くはありませんが、ExcelやAccessといったアプリケーション関連での需要は常にあります。稀にシステム構築の案件等もあります。