Hallo allemaal,
Ik ben bezig om een formulier te maken in excel (97), hierbij loop ik tegen het volgende probleem aan.
Het formulier wordt opgeroepen uit excelbestand 1 en bij het opslaan moet de data van de formulier opgeslagen worden in excelbestand 2. Hierbij moet de gebruikers geen last hebben dat excelbestand 2 tevoorschijn komt. Excelbestand 1 is een gedeelde bestand. Meerdere gebruikers zouden via het formulier tegelijkertijd data wegkunnen schrijven in excelbestand 2. Ik ben zelf niet zo ervaren met VBA, voor de formulier heb ik een code gevonden om het bestand weg te schrijven, maar deze schrijft de data weg in hetzelfde excelbestand als waar het formulier in is gebouwd.
De volgende code heb ik gebruikt en enigzins aangepast voor de knop toevoegen op mijn formulier. Alleen bij het drukken op de knop wil ik dat de data wordt opgeslagen in excelbestand 2. Hopelijk dat jullie mij hiermee kunnen helpen. Alvast bedankt!
-------------------------------------------------------------------
Private Sub cmdAdd_Click()
Dim lRow As Long
Dim ws As Worksheet
Set ws = Worksheets("PartsData")
Application.ScreenUpdating = False
'find first empty row in database
lRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'copy the data to the database
With ws
.Cells(lRow, 1).Value = Me.cboPart.Value
.Cells(lRow, 2).Value = Me.cboLocation.Value
.Cells(lRow, 3).Value = Me.cboAnker.Value
.Cells(lRow, 4).Value = Me.cboSubanker.Value
.Cells(lRow, 5).Value = Me.cboReden.Value
.Cells(lRow, 6).Value = Me.cboRedenaantekening.Value
.Cells(lRow, 7).Value = Me.txtDate.Value
End With
'clear the data
Me.cboPart.Value = ""
Me.cboLocation.Value = ""
Me.cboAnker.Value = ""
Me.cboSubanker.Value = ""
Me.cboReden.Value = ""
Me.cboRedenaantekening.Value = ""
Me.txtDate.Value = Format(Date, "Medium Date")
Me.cboPart.SetFocus
Application.ScreenUpdating = True
MsgBox "De gegevens zijn toegevoegd!"
Unload Me
End Sub
------------------------------------------------------------------
Ik ben bezig om een formulier te maken in excel (97), hierbij loop ik tegen het volgende probleem aan.
Het formulier wordt opgeroepen uit excelbestand 1 en bij het opslaan moet de data van de formulier opgeslagen worden in excelbestand 2. Hierbij moet de gebruikers geen last hebben dat excelbestand 2 tevoorschijn komt. Excelbestand 1 is een gedeelde bestand. Meerdere gebruikers zouden via het formulier tegelijkertijd data wegkunnen schrijven in excelbestand 2. Ik ben zelf niet zo ervaren met VBA, voor de formulier heb ik een code gevonden om het bestand weg te schrijven, maar deze schrijft de data weg in hetzelfde excelbestand als waar het formulier in is gebouwd.
De volgende code heb ik gebruikt en enigzins aangepast voor de knop toevoegen op mijn formulier. Alleen bij het drukken op de knop wil ik dat de data wordt opgeslagen in excelbestand 2. Hopelijk dat jullie mij hiermee kunnen helpen. Alvast bedankt!
-------------------------------------------------------------------
Private Sub cmdAdd_Click()
Dim lRow As Long
Dim ws As Worksheet
Set ws = Worksheets("PartsData")
Application.ScreenUpdating = False
'find first empty row in database
lRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'copy the data to the database
With ws
.Cells(lRow, 1).Value = Me.cboPart.Value
.Cells(lRow, 2).Value = Me.cboLocation.Value
.Cells(lRow, 3).Value = Me.cboAnker.Value
.Cells(lRow, 4).Value = Me.cboSubanker.Value
.Cells(lRow, 5).Value = Me.cboReden.Value
.Cells(lRow, 6).Value = Me.cboRedenaantekening.Value
.Cells(lRow, 7).Value = Me.txtDate.Value
End With
'clear the data
Me.cboPart.Value = ""
Me.cboLocation.Value = ""
Me.cboAnker.Value = ""
Me.cboSubanker.Value = ""
Me.cboReden.Value = ""
Me.cboRedenaantekening.Value = ""
Me.txtDate.Value = Format(Date, "Medium Date")
Me.cboPart.SetFocus
Application.ScreenUpdating = True
MsgBox "De gegevens zijn toegevoegd!"
Unload Me
End Sub
------------------------------------------------------------------