• 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.

Bereik toevoegen aan lijst

Status
Niet open voor verdere reacties.

VTeun

Banned
Lid geworden
17 feb 2003
Berichten
1.794
Hoi,

Ik wil een bereik uit een opgestelde nota, nadat deze is opgesteld, steeds toevoegen aan een tabel in een ander werkblad.
Middels een macro lukt het mij om deze actie uit te voeren, totdat ..... er gezocht moet worden naar de eerste lege cel in kolom A van dat werkblad:

Sub TotBestel()
'
' TotBestel Macro
' De macro is opgenomen op 22-8-2003 door .
'

'
Sheets("Nota").Select
Range("A12:D29").Select
Selection.Copy
Sheets("Besteld").Select
Range("A4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

Dus ipv: Range("A4").Select moet hier de eerstlege cel worden aangegeven.

Bij voorb. dank

Teun
 
Hoi Teun,

Je kiest voor een vervelende optie met Copy en Paste. Het macro gaat heen en weer tussen de werkbladen hetgeen storend is.

Je kunt ook het volgende doen:

X=Worksheets("Besteld").Range("A4")

For i=1 to 18
Cells(11+i,1)=Worksheets("Besteld").cells(X,i)
Next i

Waarbij in A4 op het werkblad besteld de eerstvolgende vrije rij staat. Eventueel kun je in Kolom S een formule toevoegen =als(aantal.lege.cellen(A11:R11)=18;"";Rij()) en in A4: =max(S:S)

Een andere mogelijkheid is om in A4 de formule =1000-aantal.lege.cellen(B11:B1010)+10 te zetten. Ook zou je de macro de opdracht kunnen geven na uitvoering Cells(1,4)=Cells(1,4)+1 (of Range("A4")=Range("A4") +1) ook dan wordt A4 met 1 opgehoogd. Kortom oplossingen zat

Het voordeel van deze constructie is dat je niets ziet gebeuren.

Jeroen
 
Code:
Sub TotBestel()
Dim rij As Integer
  rij = Sheets("Besteld").Range("A65536").End(xlUp).Row + 1
  Sheets("Nota").Range("A12:D29").Copy _
    Destination:=Sheets("Besteld").Cells(rij, 1)
End Sub
 
Merci Ingrid,

Dit was voor mij de juiste.
Jeroen, jij ook bedankt.

Teun
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan