To solve this problem, we first need to define the decision variables and the objective function. Let's denote the number of servings of gummy vitamins as `G` and the number of servings of powder vitamins as `P`. The objective is to minimize the total cost, which can be represented as `1*G + 3*P`.

We have two constraints based on the vitamin requirements:
1. For Vitamin B: `2*G + 6*P >= 14`
2. For Vitamin D: `7*G + 2*P >= 24`

Both `G` and `P` should be non-negative since we cannot take a negative number of servings.

Here's how we can translate this into Gurobi code in Python:

```python
from gurobipy import *

# Create a model
m = Model("Vitamin_Supplements")

# Define the decision variables
G = m.addVar(vtype=GRB.INTEGER, name="Gummy_Vitamins")
P = m.addVar(vtype=GRB.INTEGER, name="Powder_Vitamins")

# Set the objective function to minimize cost
m.setObjective(1*G + 3*P, GRB.MINIMIZE)

# Add constraints for vitamin requirements
m.addConstr(2*G + 6*P >= 14, name="Vitamin_B_Requirement")
m.addConstr(7*G + 2*P >= 24, name="Vitamin_D_Requirement")

# Optimize the model
m.optimize()

# Print out the results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Number of gummy vitamins: {G.x}")
    print(f"Number of powder vitamins: {P.x}")
    print(f"Total cost: ${1*G.x + 3*P.x:.2f}")
else:
    print("No optimal solution found.")
```