Jul 08 2024 10:55 AM
I have a server name dl360g10. this server has many conbinations to it. How can I select 1 group and have it populated on a sheet .
1 example
Proliant_DL360_G10_Server |
FlexLom |
PCIe1 |
PCIe2 |
PCIe3 |
PSU1 |
PSU2 |
Jul 10 2024 10:57 PM
To achieve this in Excel using VBA, you'll need to create a macro that allows you to select a server configuration from a predefined list and then populate a sheet with the corresponding details. Here’s a step-by-step guide to help you set this up:
Step 1: Prepare Your Data
First, create a list of possible server configurations and their details. You can do this on a separate sheet named "Configurations".
Configuration | Component 1 | Component 2 | Component 3 | Component 4 | Component 5 | Component 6 | Component 7 |
Proliant_DL360_G10_Server | FlexLom | PCIe1 | PCIe2 | PCIe3 | PSU1 | PSU2 | |
Proliant_DL380_G10_Server | FlexLom | PCIe1 | PCIe2 | PCIe3 | PSU1 | PSU2 |
Step 2: Create a User Form for Selection
Step 3: Populate the ComboBox with Configurations
Vba Code is untested backup your file.
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim i As Integer
Set ws = ThisWorkbook.Sheets("Configurations")
i = 2
Do While ws.Cells(i, 1).Value <> ""
Me.ComboBox1.AddItem ws.Cells(i, 1).Value
i = i + 1
Loop
End Sub
Step 4: Populate the Sheet Based on Selection
Vba Code is untested backup your file.
Private Sub CommandButton1_Click()
Dim wsConfig As Worksheet
Dim wsTarget As Worksheet
Dim selectedConfig As String
Dim i As Integer
Dim row As Integer
Set wsConfig = ThisWorkbook.Sheets("Configurations")
Set wsTarget = ThisWorkbook.Sheets("Sheet1") ' Change to your target sheet name
selectedConfig = Me.ComboBox1.Value
If selectedConfig = "" Then
MsgBox "Please select a configuration"
Exit Sub
End If
' Clear the target sheet before populating
wsTarget.Cells.Clear
' Find the selected configuration in the Configurations sheet
i = 2
row = 1
Do While wsConfig.Cells(i, 1).Value <> ""
If wsConfig.Cells(i, 1).Value = selectedConfig Then
wsTarget.Cells(row, 1).Value = "Configuration"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 1).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 1"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 2).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 2"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 3).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 3"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 4).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 4"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 5).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 5"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 6).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 6"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 7).Value
row = row + 1
wsTarget.Cells(row, 1).Value = "Component 7"
wsTarget.Cells(row, 2).Value = wsConfig.Cells(i, 8).Value
row = row + 1
Exit Do
End If
i = i + 1
Loop
End Sub
Step 5: Run the Macro
By following these steps, you can create a VBA macro that allows you to select a server configuration and populate an Excel sheet with the details of that configuration. This approach can be customized further based on your specific requirements.
NOTE: Since no one has answered it for at least one day or more, I entered your question in the AI. The text and the steps are the result of the AI. Maybe it will help you further in your project, if not please just ignore it.
My answers are voluntary and without guarantee!
Hope this will help you.
Was the answer useful? Mark as best response and Like it!
This will help all forum participants.