MacLeod was born at Kensington in November 1894. He was educated at Felsted School, where he played for the school cricket team. Shortly after leaving Felsted, MacLeod debuted in first-class cricket for Hampshire against Somerset at Southampton in the 1914 County Championship, with him making four further appearances in that season. He served in the First World War, being commissioned into the Royal Hampshire Regiment as a second lieutenant in September 1914. He returned to play for Hampshire after the war, playing twice in the 1920 County Championship against Essex and Sussex. A hiatus of fifteen years followed before MacLeod next appeared in first-class cricket for Hampshire, with an appearance in the 1935 County Championship against Leicestershire. Following the retirement of George Harvey Muir as Hampshire secretary in January 1936, MacLeod was elected to replace him.The Secretaryship. Hampshire Advertiser. 25 January 1936. p. 10 Amongst the decisions he took as secretary was to not extend the services of Phil Mead after the 1936 season,Philip Mead. Hampshire Advertiser. 26 December 1936. p. 7 and to pursue a membership drive to attract 1,000 new members.Membership drive. Portsmouth Evening News. 16 March 1938. p. 24 He held the post of secretary until 1939. While acting as secretary, he made four further first-class appearances for Hampshire in the 1938 County Championship. In twelve first-class matches, he scored 271 runs at an average of 15.05, with one half century, a score of 87 in 1914. MacLeod died in April 1982 at Broomfield, Essex.
