Newsgroup: it.comp.appl.access
Titolo: Esportare dati in excel

Salve a tutti,
vorrei esportare dei dati da access in excel, inserendo il dato in una 
colonna precisa ma scegliendo la riga in base al codice che passo da 
access.
Es.
 
Access:
Codice     Valore
5010200    1.000
 
Excel:
vorrei scorrere la colonna A fino a che non trova il codice 5010200,
dopo inserire il valore 1000 in una colonna fissa per esempio la "F".
 
E' possibile, se si come?
 
Grazie
WS
 
-- 
 
WS
 
 

Vedi se questo esempio può aiutarti:
http://www.accessgroup.it/forms/definire-i-campi-da-esportare-in-excel-e-sequenza-di-esportazione.html
 
 
Oppure guarda questo:
 
Function EXP2XLS(SQL As String, _
                 Optional ByRef NomeFile As String = vbNullString, _
                 Optional OpenDialog As Boolean = False, _
                 Optional CloseExcel As Boolean = True) As Boolean
    On Error GoTo Handle_err
    Dim xlApp   As Object   ' Oggetto EXCEL
    Dim oWkb    As Object   ' Oggetto WORKBOOK
 
    Dim x           As Integer
    Dim rs          As DAO.Recordset
    Dim strFilter   As String
    Dim intTypeXLS  As Integer
 
    EXP2XLS = False
 
    ' APRE SE ESISTE GIA' UN'OGGETTO EXCEL
    Set xlApp = CreateObject("Excel.Application")
 
    Set oWkb = xlApp.Workbooks.Add()
 
    If Val(xlApp.Version) >= 11 Then
        strFilter = "Excel 2000-2003 Workbook (*.xls), *.xls, "
        strFilter = strFilter & "Excel 2007-2010 Workbook (*.xlsx), *.xlsx,"
        strFilter = strFilter & "Excel 2007-2010 Binary Workbook (*.xlsb), *.xlsb"
    Else
       strFilter = "Excel 2000-2003 Workbook (*.xls), *.xls"
    End If
 
    If OpenDialog = True Then
 
        Do Until NomeFile <> ""
            NomeFile = xlApp.GetSaveAsFilename(InitialFileName:="C:\TestExport.xls", _
                                               fileFilter:=strFilter, _
                                               Title:="SELEZIONA NOME FILE")
 
            DoEvents
        Loop
 
    End If
 If Len(NomeFile) = 0 Then Exit Function
 
    If EsisteFile(NomeFile) Then Kill NomeFile
 
    '--------------------------------------------------------------
    ' Per   O2003               usare il valore 43  (VERSION 11.0)
    ' Per > O2007 (file xlsB)   usare il valore 50  (VERSION > 11)
    ' Per > O2007 (file xlsX)   usare il valore 51  (VERSION > 11)
    ' Per > O2007 (file xls)    usare il valore 56  (VERSION > 11)
    '--------------------------------------------------------------
 
    'uso la proprietà FileFilter come variabile per assegnare il valore corretto relativo a Workbook SaveAs
    If Val(xlApp.Version) > 11 Then
        Select Case Mid$(NomeFile, InStrRev(NomeFile, ".") + 1, Len(NomeFile))
            Case Is = "xlsx"
                intTypeXLS = 51
            Case Is = "xlsb"
                intTypeXLS = 50
            Case Is = "xls"
                intTypeXLS = 56 '"xls" con versione office > 11
        End Select
    Else
        intTypeXLS = 43 '"xls" con versione office < 11
    End If
    oWkb.SaveAs NomeFile, intTypeXLS
 
 
    ' Elimino i Fogli che Excel crea di DEFAULT
    For x = oWkb.Sheets.Count To 2 Step -1
        oWkb.Sheets(x).Delete
    Next
 
    ' Assegno un nome al Foglio(Sheet) rimasto.
    oWkb.Sheets(1).Name = "MANUTENZIONI"
 
    Set rs = CurrentDb.OpenRecordset(SQL, dbOpenDynaset, dbReadOnly)
 
    ' Scrivo nella Cella A1
    oWkb.Sheets(1).Range("A1").CopyFromRecordset rs
   rs.Close
    Set rs = Nothing
 
    EXP2XLS = True
 
Exit_Here:
    oWkb.Save
    If CloseExcel Then
        oWkb.Close True
        xlApp.Quit
    Else
        xlApp.Visible = True
    End If
    Set oWkb = Nothing
    Set xlApp = Nothing
    Exit Function
 
Handle_err:
    MsgBox Err.Number & " " & Err.Description
    Resume Exit_Here
End Function
 
 
Public Function EsisteFile(ByVal str As String) As Boolean
    On Error Resume Next
    EsisteFile = (GetAttr(str) And vbDirectory) = 0
End Function
 
Ciao

 Ciao
 
Ok, grazie.
 
-- 
 
WS