The \label macro cannot know what you are tagging unless you mark the relevant text somehow. For example \section tags the section number as something that \label can name.
Here I setup a new reference system for projects so that you can tag things with \project and optionally tag them.
\documentclass{article}
\title{My notes for Bla}
\author{myself}
\newcommand{\projectnamestyle}[1]{\textsc{#1}}
\newcommand{\projectnamerefstyle}[1]{[\textsc{#1}]}
\newcounter{project}
\newcommand{\project}[1]{%
\projectnamestyle{#1}%
\renewcommand{\theproject}{\projectnamerefstyle{#1}}%
\refstepcounter{project}%
}
\begin{document}
\begin{tabular}{ll}
\project{Project-Quick} \label{quick} & [Details here.] \\
\project{Task-Brown} \label{brown} & [Details here.] \\
\project{Todo-Fox} \label{fox} & [Details here.] \\
\project{Project-Jumped} \label{jump} & [Details here.] \\
\end{tabular}
And \ref{jump} has been completed.
\end{document}
You can customize (or remove) \projectnamestyle to set the appearances of project names.
You can similarly change how references to project names are typeset by changing the definition of \projectnamerefstyle (here it surrounds the reference by square brackets just for illustration).
The key here is calling \refstepcounter{YOURCOUNTER} that makes the next \label to pick up whatever is "stored" in \theYOURCOUNTER.
Update thanks to @egreg
The previous solution is correct but makes use of a counter which in this case is not necessary since the reference does not require automatic numbering.
A more succinct solution is to define
\newcommand{\projectnamestyle}[1]{\textsc{#1}}
\newcommand{\projectnamerefstyle}[1]{[\textsc{#1}]}
\makeatletter
\newcommand{\project}[1]{%
\projectnamestyle{#1}%
\def\@currentlabel{\projectnamerefstyle{#1}}%
}
\makeatother
since redefining \@currentlabel is the only effect of \refstepcounter that we were actually using.
\def\@currentlabel{\projectnamerefstyle{#1}}, without using a counter and redefining\theproject, because\labelpicks up whatever is the current expansion of\@currentlabel. – egreg May 20 '14 at 11:22\makeatletterand\makeatother! – egreg May 20 '14 at 12:25\renewcommand{\theproject}{\projectnamerefstyle{#1}}inside the definition of\project? Seems unnecessary to me... – cgnieder May 20 '14 at 12:32projectcounter, how do you get the needed#1? ah, you mean in the second approach without counter. Well, yes, then there is no need whatsoever for a\theproject(as mentioned byegregalready) – May 20 '14 at 13:44\newcommand{\projectnamerefstyle}[1]{\textsc{#1}}or whatever. You can also get rid of\projectnamestyleand\projectnamerefstylecompletely, I just put them there as a generalisation... – Bordaigorl May 20 '14 at 14:04