vermijd select en activate

Status
Niet open voor verdere reacties.

gober

Gebruiker
Lid geworden
12 feb 2016
Berichten
133
onderstaande code gebruik ik om de factuurgegevens op te slaan in een ander tabblad. Dat werkt goed. Echter ik lees iedere keer vermijd select en activate.
Wie kan mij op weg helpen om de code zodanig aan te passen dat .select of vermeden of verminderd wordt?


Code:
Application.ScreenUpdating = False
Dim TotaalEXBTW As Single, TotaalUren As Single, TotaalBTW As Single, factnr As Long, Klantnr As Integer, Factdatum As Date, Klnaam As String
 Worksheets("Factuur").Select
 Range("V6") = 1
 Range("G3").Value = Date
 factnr = Range("G4") '+ 1
 Klnaam = Range("A10")
 Klantnr = Range("G6")
 Factdatum = Range("G3")
 TotaalEXBTW = Range("G34")
 TotaalUren = Range("C33")
 TotaalBTW = (Range("G38"))
 TotaalOmzet = Range("G39")
 Worksheets("Omzet").Select
 Worksheets("Omzet").Unprotect
 Worksheets("Omzet").Range("L1").Value = Worksheets("Factuur").Range("T2").Value
 Worksheets("Omzet").Range("A3").Select
 If Worksheets("Omzet").Range("A3").Offset(1, 0) <> "" Then
 Worksheets("Omzet").Range("A3").End(xlDown).Select
 End If
 
  If ActiveCell.Offset(0, 1).Value = Klantnr And ActiveCell.Offset(0, 3).Value = TotaalEXBTW Or Range("G39") = 0 Then
  MsgBox ("Deze waarden heb u al eens ingevuld of bedrag 0 Euro"), , "Welkom " & Application.UserName
  Worksheets("Factuur").Select
  Worksheets("Factuur").Range("A18").Select
  Exit Sub
  End If
 ActiveCell.Offset(1, 0).Select
 ActiveCell.Value = factnr
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = Klantnr & " " & Klnaam
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = Factdatum
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalEXBTW
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = (TotaalBTW)
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalOmzet
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalUren
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = "X"
 ActiveCell.Offset(0, 3).Select
 ActiveCell.FormulaR1C1 = _
        "=IF(AND((TODAY()-RC[-8])>15,RC[-1]<>""Contant"",OR(RC[-2]=""Nee"",RC[-2]="""")),""Betalingstermijn verstreken"","""")"
 ActiveCell.Offset(0, 1).Select
  'ActiveCell.FormulaLocal = "=HYPERLINK(Factuur!$T$2 &""\"" & Factuur!$G$4 &""_"" & Factuur!$G$6 &"" ""  & Factuur!$A$10 &"".PDF"")"
  ActiveCell.FormulaR1C1 = _
   "=HYPERLINK(R1C12 &""\"" & RC1 &""_"" & RC2 &"".PDF"")"
        '"=HYPERLINK(Factuur!R2C20 &""\"" & Factuur!R4C7 &""_"" & Factuur!R6C7 &"" ""  & Factuur!R10C1 &"".PDF"")"
 ActiveCell.Offset(0, 1).Select
 ActiveCell.FormulaR1C1 = _
        "=IF(VLOOKUP(VALUE(LEFT(RC2,4)),Klanten!C[-5]:C[1],7,FALSE)="""","""",VLOOKUP(VALUE(LEFT(RC2,4)),Klanten!C[-5]:C[1],7,FALSE))"
 ActiveCell.Offset(0, 1).Select
 ActiveCell.FormulaR1C1 = _
        "=IF(VLOOKUP(VALUE(LEFT(RC2,4)),Klanten!C[-6]:C,4,FALSE)="""","""",VLOOKUP(VALUE(LEFT(RC2,4)),Klanten!C[-6]:C,4,FALSE))"
 ActiveCell.Offset(0, 1).Select
 ActiveCell.FormulaR1C1 = _
        "=INDEX(Klanten!C[-9],MATCH(VALUE(LEFT(RC2,4)),Klanten!C[-7],0))"
 ActiveCell.Offset(1, -1).Select
 Selection.EntireRow.Insert
 Worksheets("Omzet").Protect
 
 Worksheets("Factuur").Select
 Worksheets("Factuur").Range("A18").Select
 
Dat kan je zelf ook.

Als je nu dit stukje hebt.
Code:
 Worksheets("Factuur").Select
 Range("V6") = 1
 Range("G3").Value = Date
 factnr = Range("G4") '+ 1
 Klnaam = Range("A10")
 Klantnr = Range("G6")
 Factdatum = Range("G3")
 TotaalEXBTW = Range("G34")
 TotaalUren = Range("C33")
 TotaalBTW = (Range("G38"))
 TotaalOmzet = Range("G39")

Kan je aanpassen naar..
Code:
with Worksheets("Factuur")
   .Range("V6") = 1
   . Range("G3").Value = Date
    factnr = .Range("G4") '+ 1
    Klnaam = .Range("A10")
    Klantnr = .Range("G6")
    Factdatum = .Range("G3")
    TotaalEXBTW =.Range("G34")
    TotaalUren = .Range("C33")
    TotaalBTW = .Range("G38")
    TotaalOmzet = .Range("G39")
end with

Alles met een punt voor 'Range' heeft betrekking op dat werkblad.
 
En dit stukje
Code:
 Worksheets("Factuur").Select
  Worksheets("Factuur").Range("A18").Select
  Exit Sub
  End If
 ActiveCell.Offset(1, 0).Select
 ActiveCell.Value = factnr
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = Klantnr & " " & Klnaam
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = Factdatum
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalEXBTW
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = (TotaalBTW)
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalOmzet
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalUren
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = "X"
naar
Code:
Worksheets("Factuur").Range("A19").Resize(, 8) = Array(factnr, Klantnr & " " & Klnaam, Factdatum, TotaalEXBTW, (TotaalBTW), TotaalOmzet, TotaalUren, "X")
 
Bedankt voor jullie reacties. Ga hiermee aan het stoeien.
Wat betekent trouwens resize, 8 ?
 
Ga met de cursor op of achter 'Resize' staan of selecteer het en druk F1.
 
Resize(,8) zijn de bestemde kolommen
Resize(8) zijn de bestemde rijen
Dus Resize(rij,kolom)
 
Heb de hierboven genoemde tips toegepast en het werkt naar behoren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan