För att öka chansen att få de svar du är ute efter så snabbt och korrekt som möjligt skulle jag råda dig att (utöver källkoden, förstås) även ta med följande information: Går inte att kompilera Ger bara felmeddelande Userdefined type not defined En gång i tiden för kanske 10 år sen fungerade den dock med dåtidens excel Om du behöver excelfilerna så kan jag maila dem.Varför fungerar inte koden
Sub Form_Load()
cboProfil.AddItem "HEA"
cboProfil.AddItem "HEB"
cboProfil.AddItem "IPE"
cboProfil.AddItem "UNP"
cboProfil.AddItem "U"
cboProfil.AddItem "T"
cboProfil.AddItem "VKR"
cboProfil.AddItem "KKR"
cboProfil.AddItem "L"
Dim oConn As New ADODB.Connection
Dim oRs As New ADODB.Recordset
Dim cbostr As String
With oConn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open "C:\Documents and Settings\My Documents\VB-filer\Balkberakningar\HEA-Data.xls"
End With
oRs.Open "Select * from [Blad1$B22:AC162]", oConn, adOpenStatic
oRs.MoveFirst
Do While Not oRs.EOF
oRs.MoveNext
Loop
oRs.Close
oConn.Close
Set oRs = Nothing
Set oConn = Nothing
End Sub
Private Sub cboDim_Click()
Dim oConn As New ADODB.Connection
Dim oRs As New ADODB.Recordset
Dim cbostr As String
Dim flt_Ix As Integer
Select Case cboProfil.Text
Case "VKR"
flt_Ix = 5
Case "KKR"
flt_Ix = 5
Case "U"
flt_Ix = 13
Case "L"
flt_Ix = 13
Case "UNP"
flt_Ix = 13
Case Else
flt_Ix = 11
End Select
With oConn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open "C:\Documents and Settings\My Documents\VB-filer\Balkberakningar\" & cboProfil.Text & "-Data.xls"
End With
oRs.Open "Select * from [Blad1$B22:AC162]", oConn, adOpenStatic
oRs.MoveFirst
Do While Not oRs.EOF
If oRs.Fields(1).Value & "-" & oRs.Fields(0).Value = cboDim.Text Then txtI.Text = oRs.Fields(flt_Ix).Value * 1000000
oRs.MoveNext
Loop
oRs.Close
oConn.Close
Set oConn = Nothing
Set oRs = Nothing
End Sub
Private Sub cboProfil_Click()
Dim oConn As New ADODB.Connection
Dim oRs As New ADODB.Recordset
Dim cbostr As String
With oConn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open "C:\Documents and Settings\My Documents\VB-filer\Balkberakningar\" & cboProfil.Text & "-Data.xls"
End With
oRs.Open "Select * from [Blad1$B22:AC162]", oConn, adOpenStatic
oRs.MoveFirst
cboDim.Clear
Do While Not oRs.EOF
If oRs.Fields(0).Value = Null Then GoTo Skip
cboDim.AddItem oRs.Fields(1).Value & "-" & oRs.Fields(0).Value
Skip:
oRs.MoveNext
Loop
oRs.Close
oConn.Close
Set oConn = Nothing
Set oRs = Nothing
End Sub
Två kombiboxar för att välja profil resp dim En textbox för att visa resultatet från en kolumn i i Excelbladet Önskar koden för VBA också
Sv: Varför fungerar inte koden
* Går koden att köra/kompilera? Om inte, vilket felmeddelande fås?
* När koden körs, vad händer som du INTE vill ska hända?
* När koden körs, vad händer inte som du VILL ska hända?
Annars är det lite som att ringa snickaren och säga "Mitt hus är trasigt, kom och fixa!", när problemet i själva verkat är att det droppar från handfatet i badrummet :)Sv:Varför fungerar inte koden