我正在尝试重写我的代码,以避免选择和吸引人,但我遇到了问题。这可能很简单,但是我很感谢您的帮助。
我一直在寻找类似的问题,但是如果这是重复的,还没有发现一个对不起的问题。
当我运行我的代码时,选择大小写有效,("Artikelen maken")
上的自动填充有效,但另一张纸无法自动填充
Public rngab As Range
Public rngc As Range
Public rngdk As Range
Public rngac As Range
Public rngdi As Range
Public rngrow As Range
Sub samenstelling1()
Set rngrow = ActiveSheet.Rows(2)
Set rngab = ActiveSheet.Range("a2:b2")
Set rngc = ActiveSheet.Range("c2")
Set rngdk = ActiveSheet.Range("d2:k2")
Set rngac = ActiveSheet.Range("a2:c2")
Set rngdi = ActiveSheet.Range("d2:i2")
Case Is = 2
With Sheets("Artikelen_aanmaken")
rngrow.Offset(19).Resize(10).EntireRow.Hidden = True
rngab.AutoFill Destination:=rngab.Resize(2), Type:=xlFillSeries
rngc.AutoFill Destination:=rngc.Resize(2), Type:=xlFillDefault
rngdk.AutoFill Destination:=rngdk.Resize(2), Type:=xlFillSeries
End With
With Sheets("Artikelen_in_stuklijsten") 'also tried with .activate
rngrow.Offset(19).Resize(10).EntireRow.Hidden = True
rngac.AutoFill Destination:=rngac.Resize(2), Type:=xlFillSeries
rngdi.AutoFill Destination:=rngdi.Resize(2), Type:=xlFillDefault
'does work as
'rngac.Select
'Selection.AutoFill Destination:=rngac.Resize(2), Type:=xlFillSeries
End With
这是我要重写的工作代码
' 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
已解决:
Set rngrow = Sheets("Artikelen_aanmaken").Rows(2)
Set rngab = Sheets("Artikelen_aanmaken").Range("a2:b2")
Set rngc = Sheets("Artikelen_aanmaken").Range("c2")
Set rngdk = Sheets("Artikelen_aanmaken").Range("d2:k2")
Set rngac = Sheets("Artikelen_in_stuklijsten").Range("a2:c2")
Set rngdi = Sheets("Artikelen_in_stuklijsten").Range("d2:i2")
Samenstelling.UserForm_Initialize
Samenstelling.Show
Range("q500") = letter
Range("N500") = tekeningnr
Range("P500") = revletter
Range("R500") = omschrijving
Range("O500") = posnummer
Select Case posnummer
Case Is = 4
With Sheets("Artikelen_aanmaken").Activate
rngrow.Offset(19).Resize(10).EntireRow.Hidden = True
rngab.AutoFill Destination:=rngab.Resize(4), Type:=xlFillSeries
rngc.AutoFill Destination:=rngc.Resize(4), Type:=xlFillDefault
rngdk.AutoFill Destination:=rngdk.Resize(4), Type:=xlFillSeries
End With
Sheets("Artikelen_in_stuklijsten").Activate
rngrow.Offset(19).Resize(10).EntireRow.Hidden = True
rngac.Select
Selection.AutoFill Destination:=rngac.Resize(4), Type:=xlFillSeries
rngdi.Select
Selection.AutoFill Destination:=rngdi.Resize(4), Type:=xlFillDefault
我对您的代码进行了一些重新排列,但是我没有对其进行测试。将其更多地看作是对概念的解释,而不是可行的解决方案:
With Sheets("Artikelen_aanmaken")
Set rngrow = .Rows(2)
Set rngab = .Range("a2:b2")
Set rngc = .Range("c2")
Set rngdk = .Range("d2:k2")
Set rngac = .Range("a2:c2")
Set rngdi = .Range("d2:i2")
rngrow.Offset(19).Resize(10).EntireRow.Hidden = True
rngab.AutoFill Destination:=rngab.Resize(2), Type:=xlFillSeries
rngc.AutoFill Destination:=rngc.Resize(2), Type:=xlFillDefault
rngdk.AutoFill Destination:=rngdk.Resize(2), Type:=xlFillSeries
End With