Hi. This might come handy for people working with heterogeneous data before passing it to gretl. I'm using them along the scripts discussed earlier on this list for making seasonal adjustment of several variables at once, but of course using this + your custom scripts could help you in analysing your excel data faster with gretl if that's how you get or preprocess your information before being ready to using it.
You select a range in excel, press the hotkey assigned and gretl opens with the data you selected. If the series are in the form of rows instead of columns, use the second macro "rangos_a_gretl_y_transponer" which transposes the range before sending it to gretl. The macros are kind of robust, they work on excel 2010 32bit + windows 7 and excel 2007 + XP and vista + 2007.

Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub rangos_a_gretl()
    rangos_exportar_rapido formato:=xlCSV, abrir_gretl:=True, transponerb:=False
End Sub
Sub rangos_a_gretl_y_transponer()
    rangos_exportar_rapido formato:=xlCSV, abrir_gretl:=True, transponerb:=True
End Sub


Sub rangos_exportar_rapido(formato As XlFileFormat, Optional abrir_gretl As Boolean, Optional transponerb As Boolean, Optional filtro As String)
'based upon http://www.ozgrid.com/forum/showthread.php?t=76720
'export Macro
    Const SW_SHOW = 1
    Const SW_SHOWMAXIMIZED = 3
    Dim fPath As String
    Dim nArchivo As String
    'Dim pregunta_abrir_gretl
    Dim retval
    Dim argumento As String, gretl_path As String
    'Dim transponer
    'Dim transponerb As Boolean

    If (Not ActiveWorkbook Is Nothing) Then
        fPath = ActiveWorkbook.path
        nArchivo = ActiveWorkbook.FullName
        If (Not Selection Is Nothing) Then
            If TypeName(Selection) = "Range" Then
                If Selection.Count >= 4 Then
                    'transponer = MsgBox("¿Transponer el rango?", vbYesNo)
                    'If transponer = vbYes Then
                    '    transponerb = True
                    'Else
                    '    transponerb = False
                    'End If
                    sp_Speed
                    Selection.Copy
                    Workbooks.Add
                    Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=transponerb   ', Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                    Application.DisplayAlerts = False
                    If fPath = "" Then nArchivo = Environ$("USERPROFILE") & "\My Documents\" & "archivo no guardado del " & Format(Date, "yyyy.mm.dd, a las ") & Format(Time, "hh.mm") & " hs"
                    ActiveWorkbook.SaveAs Filename:=nArchivo & " exportado.csv", FileFormat:=formato, CreateBackup:=False
                    ActiveWorkbook.Close
                    Application.DisplayAlerts = True
                    sp_Unspeed
                    
                    'pregunta_abrir_gretl = MsgBox("¿Abrir Gretl?", vbYesNo)
                                        
                    If abrir_gretl = True Then
                        'Debug.Print """" & nArchivo & " exportado.csv"""
                        'Debug.Print fPath
                        
                        argumento = """" & nArchivo & " exportado.csv" & """"
                        If filtro <> "" Then argumento = """" & filtro & """"
                        Debug.Print argumento
                        gretl_path = Environ("programfiles") & "\gretl\gretlw32.exe"
                        retval = ShellExecute(0, "open", gretl_path, argumento, fPath, SW_SHOWMAXIMIZED)
                    End If
                End If
            End If
        End If
    End If
End Sub