How to manipulate a shader's alpha channel while using a texture?

New to shaders here so I hope my explanation of the shader I’m using is correct… here we go.

I’m using a shader that takes a texture, then I believe the .r (R of RGB?) and cycles through the colors. The following 3 code snippets are variations of just the frag portion of the shader. This first snippet shows the shader working as is, cycling through the colors.

fixed4 frag(v2f_img i) : COLOR
			{
			fixed4 col = tex2D(_MainTex, i.uv);
			return tex2D(_RampTex, fixed2(col.r + _Time.x * _Speed, 0.5));
			}

I want to manipulate the Alpha channel, so I can not only cycle through the colors of the texture, but also make it semi-transparent. This is where I’m running into issues. I have figured out how to control the Alpha channel as can be seen below (I’m able to manually pick a color, and manipulate it’s alpha channel, but the cycling through colors does not work):

fixed4 frag (v2f_img i) : COLOR
			{
				fixed4 col = tex2D(_MainTex, i.uv) * _Color;
				col.a = 0.5;
				return col;
			}

I cannot figure out how to mix these two concepts above together, successfully. This is what I’ve tried so far below:

fixed4 frag (v2f_img i) : COLOR
			{
				fixed4 col = tex2D(_RampTex, fixed2(col.r + _Time.x * _Speed, 0.5));
				col.a = 0.5;
				return col;
			}

The most recent code snippet above does not modify the Alpha channel nor does it cycle through the colors, leaving me with just a solid color. Any ideas?

You are not setting col value in the last example.
Look this code:

 fixed4 frag (v2f_img i) : COLOR
             {
                 fixed4 col = tex2D(_MainTex, i.uv);
                 fixed4 col2 =tex2D(_RampTex, fixed2(col.r + _Time.x * _Speed, 0.5));
                 col2.a = 0.5;
                 return col2;
             }