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

Gegevens overnemen

Status
Niet open voor verdere reacties.

patje8

Gebruiker
Lid geworden
31 jul 2005
Berichten
436
Ik heb een macro gemaakt om gegevens over te zetten van 1 bestand naar een ander.
Maar helaas veranderd de bronkolom elke week.
Vb deze week is dit 44 en 51 en volgende week is dit 45 en 52.
Kan ik dit in de macro verwerken?

Code:
Sub PRODUCTGROEPEN2014()
Dim ActWb As String
Dim IP As String
Dim BronRij As Integer
Dim BronKolom As Integer
Dim SchrijfRij As Integer
Dim SchrijfKolom As Integer
Dim Teller As Integer

    ActWb = ActiveWorkbook.Name
    Select Case Workbooks.Count
        Case 1
            MsgBox "Er is geen ander werkblad open", vbInformation, "Geen ander werkblad open"
            Exit Sub
        Case Else
        
            For Teller = 1 To Workbooks.Count
                If Workbooks(Teller).Name <> ActWb Then
                    
                    BronKolom = 44
                    For SchrijfKolom = 9 To 9
                    SchrijfRij = 1
                        While Workbooks(ActWb).Worksheets("Productgroepen").Cells(SchrijfRij, SchrijfKolom) <> ""
                            SchrijfRij = SchrijfRij + 1
                        Wend
                        For BronRij = 19 To 29
                            Workbooks(Teller).Activate
                            If Worksheets("ProductSAM").Cells(BronRij, 2) <> "" Then
                                Worksheets("ProductSAM").Cells(BronRij, BronKolom).Select
                                Selection.Copy
                                Workbooks(ActWb).Activate
                                Worksheets("Productgroepen").Cells(SchrijfRij, SchrijfKolom).Select
                                Selection.PasteSpecial Paste:=xlPasteValues
                                SchrijfRij = SchrijfRij + 1
                            End If
                        Next
                        BronKolom = BronKolom + 1
                    Next
                    
                    BronKolom = 51
                    For SchrijfKolom = 3 To 3
                        SchrijfRij = 1
                        While Workbooks(ActWb).Worksheets("Productgroepen").Cells(SchrijfRij, SchrijfKolom) <> ""
                            SchrijfRij = SchrijfRij + 1
                        Wend
                        For BronRij = 19 To 29
                            Workbooks(Teller).Activate
                            If Worksheets("ProductSAM").Cells(BronRij, 2) <> "" Then
                                Worksheets("ProductSAM").Cells(BronRij, BronKolom).Select
                                Selection.Copy
                                Workbooks(ActWb).Activate
                                Worksheets("Productgroepen").Cells(SchrijfRij, SchrijfKolom).Select
                                Selection.PasteSpecial Paste:=xlPasteValues
                                SchrijfRij = SchrijfRij + 1
                            End If
                        Next
                        BronKolom = BronKolom + 1
                    Next

                End If
            Next
        End Select

End Sub
 
je zou deze UDF kunnen gebruiken om een weeknummer (ISO) op te vragen:
ik geef je de hele draad.

Code:
Van: "Theo" <Theo@discussions.microsoft.com>
Onderwerp: Re: Week 1 in Excel?
Datum: dinsdag 23 november 2004 16:09

Sorry,

Ik zag pas later bij de Engelse 'threads' dat voor oplossing van deze 'bug' 
de volgende UDF wordt voorgesteld (en deze werkt):
=================
Function ISOWeeknum(dt As Date) As Integer
    ISOWeeknum = DatePart("ww", dt, vbMonday, vbFirstFourDays)
    If ISOWeeknum > 52 Then
        If DatePart("ww", dt + 7, vbMonday, vbFirstFourDays) = 2 Then
        ISOWeeknum = 1
        End If
    End If
End Function
========================
Groetjes en bedankt,
Theo

> Ingrid,
> 
> Alvast bedankt voor je snelle reactie. PS: De automatische jaarkalender die 
> via je MVP-pagina te downloaden is heeft dezelfde bug (3 januari 2005 is week 
> 2).
> Is hier binnen Excel (of via de "Windows regional settings") geen simpelere 
> oplossing voor?
> 
> Groetjes,
> Theo
> 
> "Ingrid Baplue" schreef:
> 
> > ISO-weeknummer:
> > =INTEGER((A1-SOM(REST(DATUM(JAAR(A1-REST(A1-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)
> > 
> > -- 
> > Ingrid Baplue
> > Excel MVP
> > http://users.telenet.be/ingrid/excel/
> > 
> > Dit bericht is geplaatst in een nieuwsgroep. Post je evt antwoord of
> > vervolgvraag graag in de nieuwsgroep a.u.b.
> > 
> > Theo schreef in 80EA8521-0BCB-4FC2-B1D1-87D258413A5F@microsoft.com
> > > Hoe bepaal ik wat week 1 is in de functie weeknummer van MS Excel?
> > > Bij Outlook kan ik bepalen wanneer een week met nummer 1 moet
> > > beginnen. Bij Excel krijg ik terug dat 3 januari 2005 in week 2 valt!
> > > Dit is niet correct. Hoe kan ik dit wijzigen? 
> > 
> >
> >
 
@EmileS

In de nieuwe versies van excel kun je ook de formule weeknummer gebruiken.
 
@oeldere,
weet ik.
de OP gaf geen versie en (let op het jaar tal) wilde ik laten zien hoe oud die problematiek is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan