userform in multi- Sheets

Status
Niet open voor verdere reacties.

Mikey507

Gebruiker
Lid geworden
1 aug 2016
Berichten
14
Beste,

Momenteel ben ik bezig met een inventarisatie van een magazijn. dit lukt tevens allemaal.

Nu kom ik een problem tegen.

ik heb twee sheets die de inventarisatielijst laten zien. met twee command buttons, deze openen een userform. welke ook werkt.
het probleem is: zodra ik op toevoegen druk ("Add") zet deze de data alleen maar in de sheet waar ik momenteel in bezig ben. het is de bedoeling dat deze in beide sheets wordt geplaats.

de huidige code:
Code:
Private Sub cmdAdd_Click()
With ActiveWorkbook.Sheets("Hal28_members").Activate
With ActiveWorkbook.Sheets("Hal28").Activate
Range("A19").Select
End With


Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Value = cmdPlant.Value
ActiveCell.Offset(0, 1) = cmdCat.Value
ActiveCell.Offset(0, 2) = cmdShelving.Value
ActiveCell.Offset(0, 3) = cmdDepartment.Value
ActiveCell.Offset(0, 4) = txtDescription.Value
ActiveCell.Offset(0, 5) = txtModel.Value
ActiveCell.Offset(0, 6) = txtSerial.Value
ActiveCell.Offset(0, 7) = txtDate.Value
ActiveCell.Offset(0, 8) = txtEmployer.Value
End With
End Sub

Private Sub cmdCancel_Click()
Unload Me
End Sub


Private Sub UserForm_Initialize()
With cmdPlant
.AddItem "HH01"
.AddItem "BT01"
.AddItem "KL01"
.AddItem "NV01"
.AddItem "SM01"
.AddItem "OK01"
.AddItem "PO01"
.AddItem "FU01"
End With

cmdPlant.Value = ""

With cmdCat
.AddItem "Engine"
.AddItem "Lifts"
.AddItem "Roles"
.AddItem "Pump"
End With

cmdCat.Value = ""

With cmdShelving
.AddItem "1-A1"
.AddItem "1-A2"
.AddItem "1-A3"
.AddItem "1-A4"
.AddItem "1-B1"
.AddItem "1-B2"
.AddItem "1-B3"
.AddItem "1-B4"
.AddItem "1-C1"
.AddItem "1-C2"
.AddItem "1-C3"
.AddItem "1-C4"
.AddItem "1-D1"
.AddItem "1-D2"
.AddItem "1-D3"
.AddItem "1-D4"
.AddItem "1-E1"
.AddItem "1-E2"
.AddItem "1-E3"
.AddItem "1-E4"
.AddItem "2-A1"
.AddItem "2-A2"
.AddItem "2-A3"
.AddItem "2-A4"
.AddItem "2-B1"
.AddItem "2-B2"
.AddItem "2-B3"
.AddItem "2-B4"
.AddItem "2-C1"
.AddItem "2-C2"
.AddItem "2-C3"
.AddItem "2-C4"
.AddItem "2-D1"
.AddItem "2-D2"
.AddItem "2-D3"
.AddItem "2-D4"
.AddItem "2-E1"
.AddItem "2-E2"
.AddItem "2-E3"
.AddItem "2-E4"
End With
cmdShelving.Value = ""

With cmdDepartment
.AddItem "Brewery"
.AddItem "Filling Station"
.AddItem "Expedition"
.AddItem "Production"
End With
cmdDepartment.Value = ""


End Sub

bedankt alvast!
Met Vriendelijke Groet.
Mike.
 
Laatst bewerkt:
Niet zo moeilijk,
Bekijk eens goed je code 'ActiveCell', is de cel in het werkblad waar je aan het frullen bent (waar je de userform hebt geopend)
Optie 1: plaats een vb bestandje ( ik heb geen zin om uw userform en uw sheets na te bouwen)Dan is het zo opgelost.
Optie 2: Zorg dat je userform geopend is in het blad waar je iets wilt invullen(zet in de eigenschappen van uw Userform ShowModal op False, kan je zo switchen naar ander tabblad) en moet je nogmaals dezelfde handeling herhalen.
edit: met andere woorden optie twee is uw probleem
 
Laatst bewerkt:
Waarom dezelfde gegevens in twee tabjes vastleggen? Alle items die je aan de comboboxen wilt toekennen kan je veel beter in het bestand zelf zetten (eventueel een verborgen blad). Zonder voorbeeldbestandje zou ik er voor het wegschrijven zoiets van maken.

Code:
Private Sub cmdAdd_Click()
    ar = Array(cmdCat.Value, cmdShelving.Value, cmdDepartment.Value, txtDescription.Value, txtModel.Value, txtSerial.Value, txtDate.Value, txtEmployer.Value)
    Sheets("Hal28_members").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 8) = ar
    Sheets("Hal28").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 8) = ar
End Sub
 
Code:
cdate(txtDate.Value)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan