How to make a ui move less in a previous clones position when a button is clicked creating more clones of itself

How do I make this script:

local Button = script.Parent.TextButton
local Text = script.Parent.TextLabel

Button.MouseButton1Click:Connect(function()
	local Clone = Text:Clone()
	Clone.Parent = script.Parent
	Clone.Position = Text.Position - UDim2.new(0, 0, .040, 0)
end)

so every new clone will be .040 less in position then the previous clone?

In what way does the code you have provided not work as intended?

Edit: I think this may be what you are after

local Button = script.Parent.TextButton
local Text = script.Parent.TextLabel
local copies = 1

Button.MouseButton1Click:Connect(function()
	local Clone = Text:Clone()
	Clone.Parent = script.Parent
	Clone.Position -= UDim2.new(0, 0, .040 * copies, 0)
    copies += 1
end)

You just need a variable to hold the last frame

local Button = script.Parent.TextButton
local Text = script.Parent.TextLabel

local lastFrame = Text -- this will initially be set to TextLabel

Button.MouseButton1Click:Connect(function()
	local Clone = Text:Clone()
	Clone.Parent = script.Parent
	Clone.Position = lastFrame.Position - UDim2.new(0, 0, .040, 0) -- subtract pixels from last frame
    lastFrame = Clone -- each frame set the lastFrame variable
end)