Oppure

Loading
14/12/11 11:38
karl93
Salve,
cercando su internet ho trovato un progetto su come importare dei dati Excel in VB6. Diciamo che sono riuscito, al momento, a risolvere il problema dell'importazione, ma dopo di sicuro dovrò fare alcuni aggiustamenti. Comunque tornando al mio problema...vorrei ordinare in modo decrescente i dati che sono caricati, ma tutto in base al prezzo!


Option Explicit
Dim FileExcel As Workbook
Dim FoglioExcel As Worksheet

Dim nome1 As Range
Dim prezzo1 As Range
Dim pagato1 As Range
Dim nome2 As Range
Dim prezzo2 As Range
Dim pagato2 As Range
Dim nome3 As Range
Dim prezzo3 As Range
Dim pagato3 As Range

Dim NomeZona As Name



Private Sub Form_Load()
If VerifyFile(App.Path & "\Fatture1.xls") Then
Set FileExcel = Excel.Workbooks.Open(App.Path & "\Fatture1.xls")
    Else
        MsgBox "Impossibile eseguire il programma" & _
        vbCrLf & "Il file " & App.Path & "\Fatture1.xls" & " non è stato trovato.", vbOKOnly
        End
    End If
    
    On Error GoTo errore
Set FoglioExcel = FileExcel.Worksheets("Foglio1")
Set nome1 = FoglioExcel.Cells(2, 1)
Set prezzo1 = FoglioExcel.Cells(2, 2)
Set pagato1 = FoglioExcel.Cells(2, 3)
Set nome2 = FoglioExcel.Cells(3, 1)
Set prezzo2 = FoglioExcel.Cells(3, 2)
Set pagato2 = FoglioExcel.Cells(3, 3)
Set nome3 = FoglioExcel.Cells(4, 1)
Set prezzo3 = FoglioExcel.Cells(4, 2)
Set pagato3 = FoglioExcel.Cells(4, 3)

Text1 = nome1.Value
Text2 = prezzo1.Value
Text3 = pagato1.Value
Text4 = nome2.Value
Text5 = prezzo2.Value
Text6 = pagato2.Value
Text7 = nome3.Value
Text8 = prezzo3.Value
Text9 = pagato3.Value


Set nome1 = Nothing
Set prezzo1 = Nothing
Set pagato1 = Nothing
Set nome2 = Nothing
Set prezzo2 = Nothing
Set pagato2 = Nothing
Set nome3 = Nothing
Set prezzo3 = Nothing
Set pagato3 = Nothing
Set FoglioExcel = Nothing


Exit Sub

errore:
MsgBox "Errore " & Err.Number & vbCrLf & Err.Description
Set nome1 = Nothing
Set prezzo1 = Nothing
Set pagato1 = Nothing
Set nome2 = Nothing
Set prezzo2 = Nothing
Set pagato2 = Nothing
Set nome3 = Nothing
Set prezzo3 = Nothing
Set pagato3 = Nothing
Set FoglioExcel = Nothing
End Sub


Private Sub cmdOrdina_Click()

End Sub

Public Function VerifyFile(FileName As String)
On Error Resume Next
Open FileName For Input As #1
If Err Then
VerifyFile = False
Exit Function
End If
Close #1
VerifyFile = True
End Function

Private Sub mnuStampa_Click()
cmdOrdina.Visible = False
Me.PrintForm
cmdOrdina.Visible = True

End Sub



Il codice dell'ordinamento dovrei inserirlo nel CommandButton: "cmdOrdina"...e poi quando ordino in base al prezzo, ovviamente anke i dati nome e pagato devono spostarsi. In allegato c'è l'immagine della form, momentanea, con alcuni valori.


aaa
14/12/11 11:39
karl93
Se notate nella prima immagine i dati caricati non sono ordinati...invece nella seconda immagine(vedi sotto)...i dati sono ordinati. Io ho ordinato manualmente, ma ovviamente io voglio che grazie al pulsante "cmdOrdina" lo faccio in modo automatico.


Grazie mille! :k:

aaa
14/12/11 11:58
HeDo
1) Usare textbox statiche per questo genere di cose è una follia
2) Passa a .NET e dimentica VB6
3) Usa una griglia e un dataset, questo genere di operazioni vengono a costo zero.
aaa
14/12/11 12:29
Ordinali prima su Excel come ti è stato suggerito in html.it
14/12/11 13:16
karl93
No, voglio che siano ordinati in VB...non in Excel; altrimenti già l'avrei fatto. I dati in Excel, cm si è capito non sono ordinati e poi non si trovano in successione.

Se ci sono alternative...sono tutte orecchie! :k:


aaa