Let V be a disjoint union of r finite sets V1,...,V(tau) ("colors"). A collection T of subsets of V is colorful if each member if T contains at most one point of each color. A k-dimensional colorful tree is a colorful collection T of subsets of V, each of size k + 1, such that if we add to T all the colorful subsets of V of size k or less, we get a Q-acyclic simplicial complex DELTA(T). We count (using the Binet-Cauchy theorem) the k-dimensional colorful trees on V (for all k), where each tree T is counted with weight \H(k-1)BAR(DELTA(T)\2 (H* = reduced homology). The result confirms, in a way, a formula suggested by Bolker (for k = r - 1). It extends, on one hand, a result of Kalai on weighted counting of k-dimensional trees and, on the other hand, enumeration formulas for multi-partite (1-dimensional) trees. All these results are extensions of Cayley's celebrated tree-counting formula, now 100 years old.