Sub Main Debug.Clear '================================================== ' User Variables '================================================== 'Input and output file directories and input data file name in_directory = "C:\program files\golden software\surfer\samples\" data_file = "Sample1.dat" out_directory = "C:\users\leslie\desktop\" 'X, Y, and first Z column in data file to use for gridding xcol=1 ycol=2 firstzcol = 3 '================================================== Set surf = CreateObject("surfer.application") surf.Visible = True 'Open the data file in Surfer's worksheet and get the last column value Dim Wks, WksRange As Object Set Wks = surf.Documents.Open(in_directory+data_file) Set WksRange = Wks.Rows(1, 1) For i=firstzcol To WksRange.ColumnCount 'Define output grid file directory & name grid_file = out_directory + Left(data_file, Len(data_file)-(Len(data_file)-InStrRev(data_file,".")+1) ) + "_zcol"+Str(i)+".grd" 'Grid the data file surf.GridData6(DataFile:= in_directory + data_file, xCol:=xcol, yCol:=ycol, zCol:=i, Algorithm:=srfKriging, ShowReport:=False, OutGrid:=grid_file, OutFmt:=srfGridFmtS7) Debug.Print "zCol = "+Str(i) Next i End Sub