从用户窗体数据填充单元格。根据 `sub`,目标单元格发生变化
Populate cells from UserForm data. Depending on the `sub`, the destination cells change
假设我有 samenstelling1
、samenstelling2
和 samenstelling3
。
在每个子模块中,我调用我的用户表单 samenstelling
,用户填写 5 个字段。
如何获取用户表单中填写的数据以填充每个模块不同的特定单元格?
当用户在填写完他们的数据后按下 OK
时,我可以在 sub 中显示一个 msgbox,所以我知道 sub 与 userform 相关联。我对如何将该数据粘贴到某些单元格感到困惑。
对于samenstelling1
,单元格是"Q500:O500",对于samenstelling2
,单元格是"Q501:O501"等
btnok
的代码
Public Sub btnok_Click()
Dim letter As String
Dim tekeningnr As String
Dim omschrijving As String
Dim posnummer As String
Dim revletter As String
tekeningnr = txttekeningnummer.Value
omschrijving = txtomschrijving.Value
revletter = cmbrevisieletter.Value
posnummer = cmbposnummer.Value
letter = UCase(cmbletter.Value)
Unload Me
End Sub
samenstelling1
的代码
Sub samenstelling1()
Sheets("Artikelen_aanmaken").Activate
Dim letter As String
Dim tekeningnr As String
Dim omschrijving As String
Dim posnummer As String
Dim revletter As String
Samenstelling.UserForm_Initialize
Samenstelling.Show
'this part is not working because it doesn't receive that data from the userform, the cells stay empty
Range("q500") = cmbletter.Value
Range("N500") = txttekeningnummer.Value
Range("P500") = cmbrevisieletter.Value
Range("R500") = txtomschrijving.Value
Range("O500") = cmbposnummer.Value
Select Case posnummer
Case Is = 1
我也用下面的代码尝试过,但我认为它只是将我放入这些单元格中的数据定义为 string
then
Range("q500") = letter
Range("N500") = tekeningnr
Range("P500") = revletter.Value
Range("R500") = omschrijving.Value
Range("O500") = posnummer.Value
select案例的样本,我填写了 posnummers 的数量(所以这个 select 案例在每个 samenstelling_
子..
Select Case posnummer
Case Is = 1
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k2"), Type:=xlFillSeries
Case Is = 2
Sheets("Artikelen_aanmaken").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k3"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c3"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i3"), Type:=xlFillDefault
Case Is = 3
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k4"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c4"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i4"), Type:=xlFillDefault
Case Is = 4
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k5"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c5"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i5"), Type:=xlFillDefault
Case Is = 5
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k6"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c6"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i6"), Type:=xlFillDefault
Case Is = 6
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k7"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c7"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i7"), Type:=xlFillDefault
Case Is = 7
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k8"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c8"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i8"), Type:=xlFillDefault
Case Is = 8
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k9"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c9"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i9"), Type:=xlFillDefault
Case Is = 9
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k10"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c10"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i10"), Type:=xlFillDefault
Case Is = 10
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k11"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c11"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i11"), Type:=xlFillDefault
Case Is = 11
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k12"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c13"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i13"), Type:=xlFillDefault
Case Is = 12
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k13"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c14"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i14"), Type:=xlFillDefault
Case Is = 13
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k14"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c15"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i15"), Type:=xlFillDefault
Case Is = 14
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k15"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c16"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i17"), Type:=xlFillDefault
Case Is = 15
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k16"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c18"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i18"), Type:=xlFillDefault
Case Is = 16
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k17"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c19"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i19"), Type:=xlFillDefault
Case Is = 17
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k18"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c20"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i20"), Type:=xlFillDefault
Case Is = 18
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k19"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c21"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i21"), Type:=xlFillDefault
Case Is = 19
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k14"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c22"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i22"), Type:=xlFillDefault
Case Is = 20
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k15"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c23"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i23"), Type:=xlFillDefault
Case Is = 21
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k16"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c24"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i24"), Type:=xlFillDefault
Case Is = 22
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k17"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c25"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i25"), Type:=xlFillDefault
Case Is = 23
Range("19:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k18"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c26"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i26"), Type:=xlFillDefault
Case Is = 24
Range("20:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k19"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c27"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i27"), Type:=xlFillDefault
这不是完整的代码,但应该可以帮助您入门。
Option Explicit
Public Sub btnok_Click()
Dim posnummer As Integer
Public Sub btnok_Click()
Dim letter As String
Dim tekeningnr As String
Dim omschrijving As String
Dim posnummer As String
Dim revletter As String
tekeningnr = txttekeningnummer.Value
omschrijving = txtomschrijving.Value
revletter = cmbrevisieletter.Value
posnummer = cmbposnummer.Value
letter = UCase(cmbletter.Value)
posnummer = "" 'Put the code which determines which row it should go on here.
Samenstelling (posnummer)
Unload Me
End Sub
Function Samenstelling(posnummer As Integer)
'Sheets("Artikelen_aanmaken").Activate 'No need to activate sheets, use the following instead, and call it before your range
Dim blad As Worksheet: blad = Sheets("Artikelen_aanmaken")
blad.Range("Q" & 500 + posnummer) = cmbletter.Value 'the 500 + posnummer means it starts at row 500, plus a row higher for every position you define. Start at zero (or change this to 499 +)
Range("N" & 500 + posnummer) = txttekeningnummer.Value
Range("P" & 500 + posnummer) = cmbrevisieletter.Value
Range("R" & 500 + posnummer) = txtomschrijving.Value
Range("O" & 500 + posnummer) = cmbposnummer.Value
End Sub
许多不同的模块做完全相同的事情,但只是引用另一范围的单元格,这让你很难过。
Select Case
或 If Then
语句可以解决该问题。如果您以某种方式确定了 sheet 中的 16 个范围,即使是 .Find
也会很容易。
但是,您当前的问题是从 UserForm
中获取值。在这种情况下,您可以使用 Public
变量。
例如:
Public wrd As String
Sub Mod1()
UserForm1.Show
Debug.Print wrd
End Sub
Sub Mod2()
UserForm1.Show
Debug.Print wrd
End Sub
Sub Mod3()
UserForm1.Show
Debug.Print wrd
End Sub
现在,如果我 UserForm
看起来像:
我可以放在按钮下的代码如下所示:
Private Sub CommandButton1_Click()
ts = Me.TextBox1.Value
Unload Me
End Sub
在您的特定情况下,它看起来像:
Public letter As String
Public tekeningnr As String
Public omschrijving As String
Public posnummer As String
Public revletter As String
Sub samenstelling1()
Samenstelling.Show
'Do more with the returned values from UserForm
End sub
Sub samenstelling2()
Samenstelling.Show
'Do more with the returned values from UserForm
End sub
Sub samenstelling3()
Samenstelling.Show
'Do more with the returned values from UserForm
End sub
而 btnok_Click()
看起来像:
Private Sub btnok_Click()
tekeningnr = txttekeningnummer.Value
omschrijving = txtomschrijving.Value
revletter = cmbrevisieletter.Value
posnummer = cmbposnummer.Value
letter = UCase(cmbletter.Value)
Unload Me
End Sub
假设我有 samenstelling1
、samenstelling2
和 samenstelling3
。
在每个子模块中,我调用我的用户表单 samenstelling
,用户填写 5 个字段。
如何获取用户表单中填写的数据以填充每个模块不同的特定单元格?
当用户在填写完他们的数据后按下 OK
时,我可以在 sub 中显示一个 msgbox,所以我知道 sub 与 userform 相关联。我对如何将该数据粘贴到某些单元格感到困惑。
对于samenstelling1
,单元格是"Q500:O500",对于samenstelling2
,单元格是"Q501:O501"等
btnok
Public Sub btnok_Click()
Dim letter As String
Dim tekeningnr As String
Dim omschrijving As String
Dim posnummer As String
Dim revletter As String
tekeningnr = txttekeningnummer.Value
omschrijving = txtomschrijving.Value
revletter = cmbrevisieletter.Value
posnummer = cmbposnummer.Value
letter = UCase(cmbletter.Value)
Unload Me
End Sub
samenstelling1
Sub samenstelling1()
Sheets("Artikelen_aanmaken").Activate
Dim letter As String
Dim tekeningnr As String
Dim omschrijving As String
Dim posnummer As String
Dim revletter As String
Samenstelling.UserForm_Initialize
Samenstelling.Show
'this part is not working because it doesn't receive that data from the userform, the cells stay empty
Range("q500") = cmbletter.Value
Range("N500") = txttekeningnummer.Value
Range("P500") = cmbrevisieletter.Value
Range("R500") = txtomschrijving.Value
Range("O500") = cmbposnummer.Value
Select Case posnummer
Case Is = 1
我也用下面的代码尝试过,但我认为它只是将我放入这些单元格中的数据定义为 string
then
Range("q500") = letter
Range("N500") = tekeningnr
Range("P500") = revletter.Value
Range("R500") = omschrijving.Value
Range("O500") = posnummer.Value
select案例的样本,我填写了 posnummers 的数量(所以这个 select 案例在每个 samenstelling_
子..
Select Case posnummer
Case Is = 1
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k2"), Type:=xlFillSeries
Case Is = 2
Sheets("Artikelen_aanmaken").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k3"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c3"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i3"), Type:=xlFillDefault
Case Is = 3
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k4"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c4"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i4"), Type:=xlFillDefault
Case Is = 4
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k5"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c5"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i5"), Type:=xlFillDefault
Case Is = 5
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k6"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c6"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i6"), Type:=xlFillDefault
Case Is = 6
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k7"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c7"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i7"), Type:=xlFillDefault
Case Is = 7
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k8"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c8"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i8"), Type:=xlFillDefault
Case Is = 8
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k9"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c9"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i9"), Type:=xlFillDefault
Case Is = 9
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k10"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c10"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i10"), Type:=xlFillDefault
Case Is = 10
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k11"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c11"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i11"), Type:=xlFillDefault
Case Is = 11
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k12"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c13"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i13"), Type:=xlFillDefault
Case Is = 12
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k13"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c14"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i14"), Type:=xlFillDefault
Case Is = 13
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k14"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c15"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i15"), Type:=xlFillDefault
Case Is = 14
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k15"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c16"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i17"), Type:=xlFillDefault
Case Is = 15
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k16"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c18"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i18"), Type:=xlFillDefault
Case Is = 16
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k17"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c19"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i19"), Type:=xlFillDefault
Case Is = 17
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k18"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c20"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i20"), Type:=xlFillDefault
Case Is = 18
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k19"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c21"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i21"), Type:=xlFillDefault
Case Is = 19
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k14"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c22"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i22"), Type:=xlFillDefault
Case Is = 20
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k15"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c23"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i23"), Type:=xlFillDefault
Case Is = 21
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k16"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c24"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i24"), Type:=xlFillDefault
Case Is = 22
Range("18:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k17"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c25"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i25"), Type:=xlFillDefault
Case Is = 23
Range("19:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k18"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c26"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i26"), Type:=xlFillDefault
Case Is = 24
Range("20:30").EntireRow.Hidden = True
Range("A2:k2").Select
Range("A2:k2").AutoFill Destination:=Range("A2:k19"), Type:=xlFillSeries
Sheets("Artikelen_in_stuklijsten").Activate
Range("18:30").EntireRow.Hidden = True
Range("A2:c2").Select
Range("A2:c2").AutoFill Destination:=Range("A2:c27"), Type:=xlFillSeries
Range("d2:i2").Select
Range("d2:i2").AutoFill Destination:=Range("d2:i27"), Type:=xlFillDefault
这不是完整的代码,但应该可以帮助您入门。
Option Explicit
Public Sub btnok_Click()
Dim posnummer As Integer
Public Sub btnok_Click()
Dim letter As String
Dim tekeningnr As String
Dim omschrijving As String
Dim posnummer As String
Dim revletter As String
tekeningnr = txttekeningnummer.Value
omschrijving = txtomschrijving.Value
revletter = cmbrevisieletter.Value
posnummer = cmbposnummer.Value
letter = UCase(cmbletter.Value)
posnummer = "" 'Put the code which determines which row it should go on here.
Samenstelling (posnummer)
Unload Me
End Sub
Function Samenstelling(posnummer As Integer)
'Sheets("Artikelen_aanmaken").Activate 'No need to activate sheets, use the following instead, and call it before your range
Dim blad As Worksheet: blad = Sheets("Artikelen_aanmaken")
blad.Range("Q" & 500 + posnummer) = cmbletter.Value 'the 500 + posnummer means it starts at row 500, plus a row higher for every position you define. Start at zero (or change this to 499 +)
Range("N" & 500 + posnummer) = txttekeningnummer.Value
Range("P" & 500 + posnummer) = cmbrevisieletter.Value
Range("R" & 500 + posnummer) = txtomschrijving.Value
Range("O" & 500 + posnummer) = cmbposnummer.Value
End Sub
许多不同的模块做完全相同的事情,但只是引用另一范围的单元格,这让你很难过。
Select Case
或 If Then
语句可以解决该问题。如果您以某种方式确定了 sheet 中的 16 个范围,即使是 .Find
也会很容易。
但是,您当前的问题是从 UserForm
中获取值。在这种情况下,您可以使用 Public
变量。
例如:
Public wrd As String
Sub Mod1()
UserForm1.Show
Debug.Print wrd
End Sub
Sub Mod2()
UserForm1.Show
Debug.Print wrd
End Sub
Sub Mod3()
UserForm1.Show
Debug.Print wrd
End Sub
现在,如果我 UserForm
看起来像:
我可以放在按钮下的代码如下所示:
Private Sub CommandButton1_Click()
ts = Me.TextBox1.Value
Unload Me
End Sub
在您的特定情况下,它看起来像:
Public letter As String
Public tekeningnr As String
Public omschrijving As String
Public posnummer As String
Public revletter As String
Sub samenstelling1()
Samenstelling.Show
'Do more with the returned values from UserForm
End sub
Sub samenstelling2()
Samenstelling.Show
'Do more with the returned values from UserForm
End sub
Sub samenstelling3()
Samenstelling.Show
'Do more with the returned values from UserForm
End sub
而 btnok_Click()
看起来像:
Private Sub btnok_Click()
tekeningnr = txttekeningnummer.Value
omschrijving = txtomschrijving.Value
revletter = cmbrevisieletter.Value
posnummer = cmbposnummer.Value
letter = UCase(cmbletter.Value)
Unload Me
End Sub