Value limit - there isn't one, so it's only limited by the total bitcoins available (21 millions by ~ year 2140).
i believe there is a floor for value (amount of bitcoin) to transfer, also known as Dust.
this amount was about 5600 satoshi from my memory (or according to the below link from a 2015 answer 546 satoshi) but changed a couple of times, i am not sure how it is right now:
https://bitcoin.stackexchange.com/questions/10986/what-is-meant-by-bitcoin-dustIt may be 5460 satoshi unless it has changed recently [//EDIT: 546 satoshi now]. Also, there's a minimum relay fee to consider. I believe 1000 satoshi minimum fee has been the default setting for a large number of nodes to broadcast a transaction across the network for some time now. There's a particularly good post explaining it here:
The transaction fee is a voluntary payment.
However, there are various limitations built into various common functionality. If you don't pay an appropriate transaction fee, you can encounter problems with some of these limitations.
Under some circumstances, the Bitcoin Core wallet won't broadcast its own transaction unless it has a large enough fee. This could be referred to as a minimum broadcast fee.
Under some circumstances, peer nodes running code based on BitcoinCore won't relay a transaction unless it has a large enough fee. This could be referred to as a minimum relay fee.
Under some circumstances, some mining pools won't confirm a transaction unless it has a large enough fee. This could be referred to as a minimum confirmation fee.
The point is, they are all just ways of talking about a minimum fee that a transaction must include if it is going to make it past a particular limitation.
If your wallet won't broadcast the transaction, then nobody will ever know about it.
If your peers won't relay your transaction, then your recipient might not see the transaction until it is confirmed, and it might not be confirmed for a very long time since many miners (and mining pools) won't hear about it from their peers.
If many of the miners (and mining pools) won't confirm it, then it may remain with 0 confirmations for a very long time. Depending on the wallet you are using, the transaction may expire if it isn't confirmed, and the bitcoins could end up back in your wallet.
There are no upper limits in terms of value, but some practical limitations in terms of memory and bandwidth.