use Win32::OLE etc $axisrange="a1:a$i"; # names $range = "b1:b$i"; # counts of names print "range $range\n"; $Sheet->Range("$range")->Select; my $Chart = $Book->Charts->Add; $Chart->{ChartType} = -4100; $Chart = $Excel->ActiveChart; $SeriesCol = $Chart->SeriesCollection->Add; $SeriesCol->{XValues} = $Sheet->Range("$axisrange"); $Chart = $Excel->ActiveChart; etc