Newsgroup: it.comp.appl.access
Titolo: esportazione excel mantenendo formattazione condizionale

buongiorno, 
al momento esporto un file di excel con una query con il comando
    DoCmd.OutputTo acOutputQuery, "magazzino", acFormatXLS, percorsofile, False
 
avrei necessità di fare la stessa esportazione ma le celle della colonna (giacenza) nel file di excel deve essere rosse se la giacenza è inferiore alla colonna (q.ta minima)
 
c'è modo di esportare in excel con formattazione condizionale attivata?


No, devi crearti un TEMPLATE in cui realizi la F.C. e poi ci incolli dentro i valori.
 
@Alex


Da codice vba si potrebbe creare il file xls, poi caricarlo su Excel 
(sempre da vba Access), e poi lanciare dei comandi per attivare la fc su 
alcune celle, dulcis in fundus salvare il file xls
Che dite, si potrebbe fare oppure no?
 
 

 Che dite, si potrebbe fare oppure no?
 
Si io lo faccio quando non posso uare il Template... è banale formattare il foglio da VBA e poi incolalre i dati con CoipyFromRecordset intanto che hai il foglio aperto...
 
Tieni conto che i oper comodità registro una macro su Excel che include la Formattazione del foglio, copio spudoratamente il VBA generato in Excel(con le opportune modifiche) lo copio in Access e formatto...
 
@Alex


Ok, appurato che si possa fare, e co' sto caldo, direi che abbiamo gia' 
fatto un gran bel lavoro :)  :)  :)
Rimaniamo in attesa della solerzia del sior Rossi per completare il 
lavoro e farci vedere il codice che risolve quanto richiesto
 


F.C. cos'è?


al momento non ho ancora risolto, avete urgenza di sapere come si fa da parte mia?


Credo intenda la Formattazione Condizionale
 


ah si giusto!

 al momento non ho ancora risolto, avete urgenza di sapere come si fa da parte mia?
 
Personalmente direi di no...  ;-)
 
@Alex


A grande richiesta visto che "RobertoA" aveva urgenza, ecco una soluzione funzionante già testata
Alex finalmente ti fornisco io un'pò di pappa pronta fanne buon uso :D
urge però un aiuto, quando esporto il file di excel funziona tutto ed è tutto colorato rosso e verde come serviva a me, ma accade che se un record ha il  campo descrizione molto lungo la singola riga è altissima, vorrei fissare da vba l'altezza della riga a prescindere dalla lunghezza della descrizione, sapete indicarmi come si fa?
 
 
*** INIZIO CODE ***
 
Public Sub EsportaExcel(path As String, nomef As String)
    Dim db As Database
    Dim Rs As Recordset
    Dim fld As DAO.Field
    Dim z As Integer
    Dim cont As Integer
    Dim qbase As Integer
    Dim giacen As Integer
 
    Dim colonne
    colonne = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O")
 
    Set db = CurrentDb
    Set Rs = db.OpenRecordset("select * from EsaMagazzino order by codice")
 
    If Rs.RecordCount > 0 Then
        Rs.Edit
 
        Dim oExcel As Object
        Dim oBook As Object
        Dim oSheet As Object
 
        'Apro un nuovo foglio di excel
        Set oExcel = CreateObject("Excel.Application")
        Set oBook = oExcel.Workbooks.Add
        Set oSheet = oBook.Worksheets(1)
 
        cont = 0
        z = 1
        For i = 1 To Rs.RecordCount
            For Each fld In Rs.Fields
                oSheet.Range(colonne(cont) & "1").Value = Rs.Fields(fld.Name).Name
                oSheet.Range("A1:O1").Font.Bold = True
                oSheet.Range(colonne(cont) & (z + i)).Value = Rs.Fields(fld.Name).Value
                If colonne(cont) = "G" Then qbase = Rs.Fields(fld.Name).Value
                If colonne(cont) = "H" Then giacen = Rs.Fields(fld.Name).Value
                cont = cont + 1
            Next
            If giace <= qbase Then 'diventa rosso
                oSheet.Range("H" & i).Interior.Color = vbRed
                oSheet.Range("H" & i).Font.Color = vbWhite
            Else
                oSheet.Range("H" & i).Interior.Color = vbGreen
                oSheet.Range("H" & i).Font.Color = vbBlack
            End If
            cont = 0
            Rs.MoveNext
        Next i
 
        'Salvo il file e chiudo excel
        oBook.SaveAs path & nomef
        oExcel.Quit
 
    End If
 
    MsgBox "ok"
 
    Rs.Close
    Set db = Nothing
End Sub
 
 
*** FINE CODE ***
 
 
 
 
 


Ci attendevamo, con urgenza, di veder settare la formattazione 
condizionale su alcune celle foglio excel prodotto
Quali sono le istruzioni che la attivano?
 


effettivamente potresti avere ragione leggendo l'oggetto del messaggio ma non è completamente vero, quello che mi serviva era cambiare colore di sfondo ad alcune celle sulla base di un confronto di valori, quindi ho ottenuto la formattazione condizionale da vba e questo per me è sufficiente, anziché settare da vba la vera e propria formattazione condizionale iul confronto l'ho fatto da vba.
 
comunque se ti serve a grande richiesta ecco il link che spiega come fare
https://docs.microsoft.com/it-it/office/troubleshoot/excel/conditional-formatting-set-incorrectly
 
 
tranquillo, non mi devi nulla, tutto gratis.