To solve this problem, we first need to define the decision variables and the objective function. Let's denote the number of lenses sold as `lenses` and the number of tripods sold as `tripods`. The profit per lens is $200, and the profit per tripod is $150. Therefore, the total profit can be represented as `200 * lenses + 150 * tripods`.

The constraints are:
1. The store can spend at most $10000 on camera equipment. Since each lens costs $400 and each tripod costs $300, this constraint can be represented as `400 * lenses + 300 * tripods <= 10000`.
2. At least 10 lenses but at most 25 lenses are sold each month: `10 <= lenses <= 25`.
3. The number of tripods sold is at most a third of the number of lenses sold: `tripods <= (1/3) * lenses`.

We want to maximize the total profit under these constraints.

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

```python
from gurobipy import *

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

# Define decision variables
lenses = m.addVar(lb=10, ub=25, vtype=GRB.INTEGER, name="lenses")
tripods = m.addVar(vtype=GRB.INTEGER, name="tripods")

# Objective function: Maximize profit
m.setObjective(200 * lenses + 150 * tripods, GRB.MAXIMIZE)

# Constraints
m.addConstr(400 * lenses + 300 * tripods <= 10000, "Budget_Constraint")
m.addConstr(tripods <= (1/3) * lenses, "Tripod_Limit")

# Optimize the model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Number of lenses to sell: {lenses.x}")
    print(f"Number of tripods to sell: {tripods.x}")
    print(f"Maximum profit: ${200 * lenses.x + 150 * tripods.x:.2f}")
else:
    print("No optimal solution found")
```