To solve this problem, we first need to define the decision variables and the objective function. Let's denote the amount of fertilizer P100 used as `x` kg and the amount of fertilizer Y200 used as `y` kg. The objective is to minimize the total amount of vitamin B in the compound.

The amount of nitrogen from P100 is 11x, and from Y200 is 9y. The total must be at least 200 units.
The amount of phosphoric acid from P100 is 6x, and from Y200 is 10y. The total must be at least 150 units.
The amount of vitamin A from P100 is 5x, and from Y200 is 8y. The total must not exceed 300 units.
The amount of vitamin B from P100 is 4x, and from Y200 is 6y. We want to minimize this total.

Thus, our optimization problem can be formulated as follows:

Minimize: 4x + 6y (total amount of vitamin B)
Subject to:
- 11x + 9y >= 200 (nitrogen requirement)
- 6x + 10y >= 150 (phosphoric acid requirement)
- 5x + 8y <= 300 (vitamin A constraint)
- x, y >= 0 (non-negativity constraints for the amounts of fertilizers)

Now, let's translate this into Gurobi code in Python:

```python
from gurobipy import *

# Create a new model
m = Model("Plant_Growth_Compound")

# Define the decision variables
x = m.addVar(name="P100", lb=0)  # Amount of P100 fertilizer
y = m.addVar(name="Y200", lb=0)  # Amount of Y200 fertilizer

# Set the objective function: minimize total vitamin B
m.setObjective(4*x + 6*y, GRB.MINIMIZE)

# Add constraints
m.addConstr(11*x + 9*y >= 200, name="Nitrogen_Requirement")
m.addConstr(6*x + 10*y >= 150, name="Phosphoric_Acid_Requirement")
m.addConstr(5*x + 8*y <= 300, name="Vitamin_A_Constraint")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution: x = {x.x}, y = {y.x}")
    print(f"Minimum amount of vitamin B: {m.objVal}")
else:
    print("No optimal solution found")
```