• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Code verkorten

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Is de onderstaande code, met een FOR - NEXT lus, te verkorten?
Code:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 If [B2] = "" Then
 MsgBox ("Er is geen datum ingevuld")
 Exit Sub
 Else
 End If
 Continue = True
 
    With Sheets("Raportage").Range("A65536").End(xlUp)
        [COLOR="#FF0000"].Offset(1, 6).Value = Sheets("Invoertabel").Range("C13").Value
        .Offset(1, 7).Value = Sheets("Invoertabel").Range("D13").Value
        .Offset(1, 8).Value = Sheets("Invoertabel").Range("E13").Value
        .Offset(1, 9).Value = Sheets("Invoertabel").Range("F13").Value
        .Offset(1, 10).Value = Sheets("Invoertabel").Range("G13").Value
        .Offset(1, 11).Value = Sheets("Invoertabel").Range("H13").Value
        .Offset(1, 12).Value = Sheets("Invoertabel").Range("I13").Value
        .Offset(1, 13).Value = Sheets("Invoertabel").Range("J13").Value[/COLOR]   
   End With
    MsgBox "Gegevens gekopieerd. "
    [B2,B4,C13:J19].ClearContents
End Sub

Grtn
 
Deze zou datzelfde moeten doen:

Code:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 If [B2] = "" Then
 MsgBox ("Er is geen datum ingevuld")
 Exit Sub
 Else
 End If
 Continue = True
 
    With Sheets("Raportage").Range("A65536").End(xlUp)
       For rij = 6 To 13
        .Offset(1, rij).Value = Sheets("Invoertabel").Cells(13, rij - 3).Value
       Next
   End With
    MsgBox "Gegevens gekopieerd. "
    [B2,B4,C13:J19].ClearContents
End Sub
 
Laatst bewerkt:
Nauwelijks:

Code:
Private Sub CommandButton1_Click()
   With sheets("Rapportage")  
     If .Range("B2") <> "" Then
       .cells(rows.count,1).End(xlUp).offset(1,5).resize(,8)=Sheets("Invoertabel").Range("C13").resize(,8).Value
       c00=" "
       .Range("B2,B4,C13:J19").ClearContents
     end if
   End With

   MsgBox iif(isempty(c00),"Er is geen datum ingevoerd","Gegevens gekopieerd")
End Sub
 
Laatst bewerkt:
Het kan ook zonder For..Next:

Code:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 If [B2] = "" Then
 MsgBox ("Er is geen datum ingevuld")
 Exit Sub
 Else
 End If
 Continue = True
 With Sheets("Raportage")
     lrow = .Range("A65536").End(xlUp).Row
       .Range("A" & lrow & ":M" & lrow).Copy
         Sheets("Invoertabel").Cells(13, 3).PasteSpecial Paste:=xlPasteAll, Transpose:=True
 End With
    MsgBox "Gegevens gekopieerd. "
    [B2,B4,C13:J19].ClearContents
End Sub
 
Bedankt voor de antwoorden.
Hiermee kan ik verder.
Ga gelijk uittesten.
Grtn
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan