How to Obtain "Available Memory" Number with VBA?

Ceeyee

Board Regular
Joined
Feb 2, 2011
Messages
155
Is there a way to obtain/calculate (or approximate) the "Available Memory" Number shown in Task Manager using VBA?
Thanks.
 
Last edited:

Some videos you may like

Excel Facts

Format cells as currency
Select range and press Ctrl+Shift+4 to format cells as currency. (Shift 4 is the $ sign).

Ceeyee

Board Regular
Joined
Feb 2, 2011
Messages
155
I figured it out

Code:
Sub GetMemory()
    Dim oInstance As Object, colInstances As Object
    Dim totalMem As Single, availMem As Single
 
    Set colInstances = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_PhysicalMemory")
    For Each oInstance In colInstances
        totalMem = totalMem + oInstance.Capacity / 1024 / 1024
    Next


    Set colInstances = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_OperatingSystem")
    For Each oInstance In colInstances
        availMem = availMem + oInstance.FreePhysicalMemory / 1024
    Next
    
    MsgBox (totalMem & " " & availMem)
    
End Sub
 
Last edited:

Forum statistics

Threads
1,089,438
Messages
5,408,221
Members
403,191
Latest member
fmstation

This Week's Hot Topics

  • help please
    SORRY NOT ANY GOOD AT EXCEL SO HELP WOULD BE MUCH APPRECIATED this formula is in a sheet called ignore...
  • two formulas needed
    Hello, I'll try my best to explain this: First formula needed in Sheet1 cell A2: If Sheet1 cell B2 = Sheet2 cell B2 then return a 1. If not then...
  • Dynamic Counts
    Good afternoon, we are tidying up some data & the data seems to be growing quicker than we are tidying it up! What we confirm (by reviewing it...
  • Help Excel formula eliminate duplicate values and keep only 2 identical rows.
    as picture below column A has a duplicate value. but the values are not the same as the rule. sometimes 4 rows, sometimes 10 rows or 7 or 9...
  • Macro Compile Error Sub or Function not defined
    Hello, I am trying to run macros from a validation list, all macros have been created and run perfectly on there own but I'm getting a compile...
  • Last row combined with Current Region VBA
    I'm generally happy finding the last row of data through something like Lastrow = Cells(Rows.Count, "D").End(xlUp) but I don't always receive data...
Top