AutoFill syntax probleem

LucB

Board Regular
Joined
Apr 4, 2005
Messages
53
Hallo Excellers,

Graag uw hulp.

Code:
Option Explicit
Private Sub CommandButton1_Click()
    Dim i      As Long
    ActiveWorkbook.Sheets("Invoer").Activate
    Range("A3").Select
    
    i = Cells(Rows.Count, "A").End(xlUp).Row
    '3 OptionButtons in een Frame in een UserForm
    If OptionButton1 = True Then
        ActiveCell.Offset(0, 6).Value = "1"
    ElseIf OptionButton2 = True Then
        ActiveCell.Offset(0, 6).Value = "2"
    ElseIf OptionButton3 = True Then
        ActiveCell.Offset(0, 6).Value = "0"
    End If
    
    'volgende regel geeft Fout 1004
    'Gewenst: Als Cells(0, 6) een 0,1 of 2 bevat
    'dat deze naar beneden wordt doorgevoerd
    'voor zover kolom A waarden bevat.
    'Graag uw hulp bij de juiste syntax
    
    Cells(0, 6).AutoFill _
            Destination:=Range(Cells(i, 6))
End Sub
 

Excel Facts

Waterfall charts in Excel?
Office 365 customers have access to Waterfall charts since late 2016. They were added to Excel 2019.
Dag, LucB,

Cells(0, 6) bestaat niet, want rij 0 bestaat niet
bedoelde je ActiveCell.Offset(0, 6) ?

beste groeten,
Erik
 
Upvote 0
toch nog even meer in detail gekeken
je vroeg eigenlijk nog wat meer hulp
Code:
Option Explicit

Private Sub CommandButton1_Click()
    Dim i      As Long
    Dim v      As Integer
    ActiveWorkbook.Sheets("Invoer").Activate
    Range("A3").Select
    
    i = Cells(Rows.Count, "A").End(xlUp).Row
With ActiveCell.Offset(0, 6)
    '3 OptionButtons in een Frame in een UserForm
    If OptionButton1 = True Then
        .Value = "1"
    ElseIf OptionButton2 = True Then
        .Value = "2"
    ElseIf OptionButton3 = True Then
        .Value = "0"
    End If
    
    .AutoFill Destination:=Range(.Cells(1, 1), Cells(i, .Column))
End With
End Sub
Activate & Autofill zijn processen die de runtime verhogen
daarom lijkt dit me beter
Code:
Option Explicit

Private Sub CommandButton1_Click()
Dim i     As Long
Dim v     As Integer
Dim WS    As Worksheet
Dim cell  As Range

Set WS = ActiveWorkbook.Sheets("Invoer")
Set cell = WS.Range("A3")
 
        If OptionButton1 = True Then
            v = "1"
        ElseIf OptionButton2 = True Then
            v = "2"
        ElseIf OptionButton3 = True Then
            v = "0"
        End If

i = WS.Cells(Rows.Count, "A").End(xlUp).Row
WS.Range(cell.Offset(0, 6), WS.Cells(i, cell.Column + 6)) = v

End Sub

best regards,
Erik
 
Upvote 0
Erik,

Het bovenstaande slaat niet op je laatste code.
Ik ga je laatste voorstel even toepassen.
Kom later terug.

Vooreerst mijn vriedelijke dank.
 
Upvote 0
Hallo Erik,

Het werkt fantastisch en razend snel.

"O wie lieblich ist der Anblick ... "

Heel hartelijk dank.

Luc
 
Upvote 0
Luc,
vriendelijke man ben jij :-)
en een mondje Duits als toemaatje ...
waar komt dit vers uit
"O wie lieblich ist der Anblick ... "
?
fijne dag verder!
Erik
 
Upvote 0

Forum statistics

Threads
1,223,952
Messages
6,175,594
Members
452,656
Latest member
earth

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top