VBAを活かせる仕事
VBA
の案件月額単価相場
[案件数]
平均単価:
596,400円
最高単価:
1,200,000円
最低単価:
320,000円
- 詳細はこちら
不動産会社にて、社内システムの刷新プロジェクトがあり、リリース後の変更対応なおど行なっていただける方を探しています。
単価 500,000 ~ 600,000 円 /月額
最寄駅 神保町駅スキル 職種 契約形態 業務委託詳細はこちら▍通勤面:リモート併用相談可! ▍インボイス未登録の方OKです! 卸売業向け情報システム業務支援にて、 AS400の経験者を募集しています! 作業内容は以下の通りです。 ◆想定作業◆ ・RPG言語を用いた調査・分析作業 ・既存システムの保守作業 ・開発チームへの設計支援 ・その他付随する作業 ~~~~~~~~~~~~~~~~~~~~ 他お任せしたいPJは複数あ...
単価 730,000 ~ 780,000 円 /月額
最寄駅 フルリモートスキル 職種 特徴 契約形態 業務委託詳細はこちら■販売勘定チームの運用保守業務 ○SCM領域における「販売勘定チーム」の運用保守を担うポジションです。 ○既存システムの安定稼働を目的とし、定常作業、障害対応、問い合わせ対応などの業務をご担当いただきます。 ○複数技術を横断的に扱うため、幅広い基盤スキル・運用経験が求められます。 <主な作業内容> ・システム運用保守(定常処理、ジョブ監視、エラー対応) ・問い合わせ対...
単価 300,000 ~ 750,000 円 /月額
最寄駅 都市部スキル 職種 特徴 契約形態 業務委託詳細はこちら開発案件に参画して頂きます。(案件選択制) 上流工程から一貫して対応して頂きます。 (製造経験しかなくても上流工程の経験を積むことが可能です。) ・業務アプリの開発案件 ・Webサイト(EC)新規開発及び保守案件 ・クラウド、ビッグデータ案件 ・RPA案件 ・テスト案件
単価 ~ 570,000 円 /月額
最寄駅 丸の内スキル 職種 契約形態 業務委託詳細はこちら支店概況表システム他、法人業務部所管の各種EUC システムの開発・運用に関するシステムサポート ・各種EUCシステムの運用 (月次、期次タイミングでのデータ作成、集計など) ・各種EUCシステムの仕様変更対応 ■フェーズ■詳細設計,運用保守、データ作成
単価 800,000 ~ 1,500,000 円 /月額
最寄駅 都市部スキル 職種 特徴 契約形態 業務委託詳細はこちらセキュリティ案件に参画して頂きます。 元請企業が、パートナー企業少ないため、大変確度が高い案件となっております。 幅広い職種のセキュティエンジニアを急募中です。 ・ネットワークセキュリティ ・データセキュリティ ・エンドポイントセキュリティ ・アプリケーションセキュリティ ・情報セキュリティ管理 ・その他セキュリティ
単価 250,000 ~ 350,000 円 /月額
最寄駅 都市部スキル 職種 特徴 契約形態 業務委託詳細はこちら大手企業での社内ヘルプデスクとして主には下記業務をお願いします。 ・問合せを情報整理をして管理者等への引き継ぎ ・個人情報管理・社内セキュリティチェック業務 ・ChatGPTで自動化しているチェックのメンテナンス
- 詳細はこちら
案件: 証券会社向け業務効率化EUCツール群の保守 内容:証券および金融機関の業務効率化のためのツール群の保守およびエンハンス対応。 他社作成済みのツール群を引継いで、維持、改修を実施。 ・開発言語 VBA(Access、Excel)、SQL Server(ストアドプロシージャ)
- 詳細はこちら
【概 要】:金融系システム追加開発・保守 【行 程】:詳細設計~テスト
単価 500,000 ~ 600,000 円 /月額
最寄駅 天王洲アイル駅スキル 職種 契約形態 業務委託詳細はこちら▍通勤面:リモート併用相談可! ▍インボイス未登録の方OKです! 重工業向け基幹システム刷新支援にて、 SQLの経験者を募集しています! 作業内容は以下の通りです。 ◆想定作業◆ ・現行(SAP)→新(パッケージ)へのデータ移行 ・SQL/Excel/Access環境にて以下業務 └ データ調査、集計、SQLのパッチ対応 ・夜間対応、休日出勤の可能性あり └ テレワーク...
単価 800,000 ~ 850,000 円 /月額
最寄駅 オンサイト(黒崎駅_福岡県) ※週に2日ほどオンサイト ※交通費全額実費精算(新幹線や特急利用可)スキル 職種 契約形態 業務委託詳細はこちら■案件概要 システムリプレイス案件のPMO ※SAPの知見などは不要です。 ■作業工程 ["品質管理計画・受入テスト計画","全体テスト計画・要件定義レビュー・システムテスト計画", "基本設計レビュー・外部結合テスト設計","詳細設計レビュー・内部結合テスト設計", "プログラム設計レビュー・単体テスト計画","単体テスト","内部結合テスト","外部結合テスト","...
単価 550,000 ~ 700,000 円 /月額
最寄駅 日本橋駅スキル 職種 契約形態 業務委託詳細はこちら▍通勤面:リモート併用相談可! ▍インボイス未登録の方OKです! UiPath開発チーム支援にて、 RPAの経験者を募集しています! 作業内容は以下の通りです。 ◆想定作業◆ ・ロボットのシナリオ開発 (ウォーターフォール形式) ・各種ドキュメント作成 ・テスト実施 ・ロボット標準化対応 ・運用保守改善 ・スキルに応じてVBA改修/保守 ・その他付随する作業 ...
もっと見る
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といったアプリケーション関連での需要は常にあります。稀にシステム構築の案件等もあります。
検索条件を変更
検索条件が選択されていません
該当案件数
374件