Skip to content

This VBA project allows you to quote azure vm prices in excel

Notifications You must be signed in to change notification settings

PowerFeature/excelAzureVmPricing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

excelAzureVmPricing

This VBA project allows you to find the cheapst VM size for a given Core/Ram configuration in a specific datacenter. You can then pull an hour price for the VM.

The solution relies on a custom backend, that pulls data from https://azure.microsoft.com/api/v2/pricing

NEW support for managed disks. See the example.xlsm.

Demoimage

Installation

  1. Download the VM_Prices.bas (https://raw.githubusercontent.com/KillerFeature/excelAzureVmPricing/master/VM_Prices.bas?raw=true)
  2. Open Excel
  3. Press Alt-F11 to go to Macro Editor
  4. Select "File" -> "Import Module"
  5. Select the VM_Prices.bas file
  6. Select "Tools" -> "References..."
  7. Check "Microsoft XML, v6.0"
  8. Press Alt-F11 to go back to Excel
  9. Enter this in a cell =getVM(1;1;0;"europe-west";"EUR") the resulting VM should be linux-b1s-standard
  10. Move to the next cell and type =getVMPriceHour("linux-b1s-standard";0;"europe-west";"EUR") the result should be something like 0,07929684

Function syntax

=getVM([minimum cores];[minimum ram];[reserved instance years 0 or 1 or 3];[azure-region];[currency];[OPTIONAL exclude strings seperated by ;];[OPTIONAL must include strings seperated by ;])

Optionally you can exclude certain vm's by using semicolon seperated tags

=getVM([minimum cores];[minimum ram];[reserved instance years 0 or 1 or 3];[azure-region];[currency];"-b;-a") This will exclude all burstable VM's, and all A series

=getVM([minimum cores];[minimum ram];[reserved instance years 0 or 1 or 3];[azure-region];[currency];"-b;-a";"windows") This will exclude all burstable VM's, and all A series and select a windows VM.

=getVMPriceHour([VM Name (result from getVM)];[reserved instance];[azure region];[currency])

=getVMData([VM Name];[Region];[Currency];[Parameter you want returned])

Example: =getVMData("linux-b2s-standard";"us-east";"USD";"isVcpu")

Supported parameters : isVCPU cores ram (DO NOT USE getVMData to get prices)

How to calculate monthly fee? =[Hour price]*730

See demovideo here : video

Known issues

I want more that 10 azure regions in one workbook

NO!! ... Well yes now you can get 100 :)

Disclaimer

The is not for quotes. Use this tool at your own risk. Prices are cached for 48 hours and might be outdated. This is an expert tool. A fool with a tool is still a fool.

About

This VBA project allows you to quote azure vm prices in excel

Resources

Stars

Watchers

Forks

Packages

No packages published