Hej,
Så skönt att få kunna skriva på svenska. Jag är visserligen hygglig på engelska men ändå. Dessutom är min excel version på svenska vilket gjort att man hela tiden måste översätta en del där också.
Jag har beskrivit mitt problem i följande tråd, men inte lyckats få nåt svar som jag lyckats få till
http://www.mrexcel.com/forum/showthread.php?t=296576
Kanske bra att nämna att jag är rookie på VBA och excel så jag tar hellre en utförlig förklaring än en kort.
Kan ju ändå beskriva problemet här också på svenska lite snabbt... Har en arbetsbok som innehåller två knappar, en Lägg till och en Hitta. När jag väljer Lägg till öppnas ett formulär där jag lägger in information i olika textboxar och listboxar. Infon läggs in i en annan arbetsbok när jag klickar på en OK-knapp i formuläret. Dessutom ges ett unikt ID som visas upp i ett meddelande och hamnar i kolumn A. Det är min Hitta funktion jag har problem med. När jag klickar på Hitta-knappen öppnas ett formulär med en listbox med flera kolumner. Ställer mig på raden jag vill ha och klickar på OK-knapp. Får du upp all tidigare inlagd information i mitt första formulär. Jag vill nu kunna ändra informationen och sen ska det sparas på rätt radnr igen. Jag har försökt att gå via ID nr (antar i joförsig att själva excels radnummer skulle gå minst lika bra eller kanske t o m bättre), men lyckas inte få det att funka. Problemet är säkerligen i CurrentRow-delen. Någon som vet hur man får den att funka för en sån här sak är väl inte en omöjlighet eller?
Så skönt att få kunna skriva på svenska. Jag är visserligen hygglig på engelska men ändå. Dessutom är min excel version på svenska vilket gjort att man hela tiden måste översätta en del där också.
Jag har beskrivit mitt problem i följande tråd, men inte lyckats få nåt svar som jag lyckats få till
http://www.mrexcel.com/forum/showthread.php?t=296576
Kanske bra att nämna att jag är rookie på VBA och excel så jag tar hellre en utförlig förklaring än en kort.
Kan ju ändå beskriva problemet här också på svenska lite snabbt... Har en arbetsbok som innehåller två knappar, en Lägg till och en Hitta. När jag väljer Lägg till öppnas ett formulär där jag lägger in information i olika textboxar och listboxar. Infon läggs in i en annan arbetsbok när jag klickar på en OK-knapp i formuläret. Dessutom ges ett unikt ID som visas upp i ett meddelande och hamnar i kolumn A. Det är min Hitta funktion jag har problem med. När jag klickar på Hitta-knappen öppnas ett formulär med en listbox med flera kolumner. Ställer mig på raden jag vill ha och klickar på OK-knapp. Får du upp all tidigare inlagd information i mitt första formulär. Jag vill nu kunna ändra informationen och sen ska det sparas på rätt radnr igen. Jag har försökt att gå via ID nr (antar i joförsig att själva excels radnummer skulle gå minst lika bra eller kanske t o m bättre), men lyckas inte få det att funka. Problemet är säkerligen i CurrentRow-delen. Någon som vet hur man får den att funka för en sån här sak är väl inte en omöjlighet eller?
Code:
Private Sub OKButton_Click()
Dim NewRow As String
Dim NewNumber As String
Dim CurrentRow As String
'---------------------------------------------------
Application.Workbooks.Open ("C:\Documents and Settings\nyberbea\Skrivbord\Defektdata1.xls")
Sheets("Systemtest").Activate
With Worksheets("Systemtest")
If IDBox = "" Then
'-----------------------------------------------
'- next row
NewRow = .Range("A65536").End(xlUp).Row + 1
'-----------------------------------------------
'- add 1 to previous count
NewNumber = .Cells(NewRow - 1, 1).Value + 1
'-----------------------------------------------
'- put values to worksheet
.Cells(NewRow, 1).Value = NewNumber
.Cells(NewRow, 2).Value = DateBox
.Cells(NewRow, 3).Value = StatusBox
.Cells(NewRow, 4).Value = ClosingBox
.Cells(NewRow, 5).Value = HeadingBox
.Cells(NewRow, 6).Value = SummaryBox
.Cells(NewRow, 7).Value = CommentsBox
.Cells(NewRow, 8).Value = TestspecBox
.Cells(NewRow, 9).Value = SeverityBox
.Cells(NewRow, 10).Value = EnvBox
.Cells(NewRow, 11).Value = VersionBox
.Cells(NewRow, 12).Value = SubsysBox
.Cells(NewRow, 13).Value = FormBox
.Cells(NewRow, 14).Value = TesterBox
.Cells(NewRow, 15).Value = ResponsibleBox
.Cells(NewRow, 16).Value = FixedVerBox
'-----------------------------------------------
MsgBox "Unique id: " & NewNumber
Else
CurrentRow = IDBox
'-----------------------------------------------
'- current row
'CurrentRow = .Range("A65536").Value("IDBox")
'-----------------------------------------------
'- update values to worksheet
.Cells(CurrentRow, 2).Value = DateBox
.Cells(CurrentRow, 3).Value = StatusBox
.Cells(CurrentRow, 4).Value = ClosingBox
.Cells(CurrentRow, 5).Value = HeadingBox
.Cells(CurrentRow, 6).Value = SummaryBox
.Cells(CurrentRow, 7).Value = CommentsBox
.Cells(CurrentRow, 8).Value = TestspecBox
.Cells(CurrentRow, 9).Value = SeverityBox
.Cells(CurrentRow, 10).Value = EnvBox
.Cells(CurrentRow, 11).Value = VersionBox
.Cells(CurrentRow, 12).Value = SubsysBox
.Cells(CurrentRow, 13).Value = FormBox
.Cells(CurrentRow, 14).Value = TesterBox
.Cells(CurrentRow, 15).Value = ResponsibleBox
.Cells(CurrentRow, 16).Value = FixedVerBox
MsgBox "The following Id has been updated: " & CurrentRow
End If
ActiveWorkbook.Save
ActiveWorkbook.Close
'Clear the controls for the next entry
IDBox.Text = ""
DateBox.Text = ""
StatusBox.Text = ""
HeadingBox.Text = ""
SummaryBox.Text = ""
CommentsBox.Text = ""
SeverityBox.Text = ""
EnvBox.Text = ""
VersionBox.Text = ""
SubsysBox.Text = ""
FormBox.Text = ""
TestspecBox.Text = ""
TesterBox.Text = ""
ResponsibleBox.Text = ""
FixedVerBox.Text = ""
ClosingBox.Text = ""
OptionUnknown = True
StatusBox.SetFocus
End With
End Sub