6 aangesloten cellen (1 Rij) kopieren

Status
Niet open voor verdere reacties.
Klasse !! loopt lekker allemaal. Dat kunnen muteren is echt fijn, want een foutje bij de invoer is zo gemaakt. Ik krijg wel elke keer als ik een cel aan klik (volgens mij sommige wel en sommige niet) een foutmelding dat de "Typen niet overeen komen" (in de regel oldvalue = target,value). Weet niet waarom ? Heb jij dat in het werkbestand ook of is er bij mij iets niet lekker ? Ik heb de fout in de koppeling verwijderd door naar appie59 - factuur te verwijzen. Ik neem aan dat jij die melding ook krijgt als je het werkbestand opend.

Los van het bovenstaande ben ik heeeel blij.

groet, Rob
 
Vervang de huidige door deze.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    With Sheets("BESTELLING")
        Rowcount = .Range("D10").CurrentRegion.Rows.Count + 10
        If Not Intersect(Target, .Range("M11:M" & Rowcount)) Is Nothing Then oldvalue = Target.Value
    End With
End Sub
 
Hallo Rudi, wederom dank voor je snelle response.

Het werkt !! Geen foutmeldingen meer.

Als ik een factuur inboek wordt alles leeg gemaakt, ook de aantallen in BESTELLING. Dat is perfect, echter als er tijdens het inboeken een selectie openstaat via de textbox op BESTELLING, worden alleen de zichtbare aantallen verwijderd. Als ik de selctie (na inboeken) verwijder staan er nog een aantal aantallen in die dan alsnog verwijderd moeten worden. Dit terwijl het progr. wel de opdracht krijgt om alles in "M"vanaf rij 11 te verwijderen. Is dit te ondervangen ?

Nog een klein vraagje: Ik merk dat de KTS facturen map opent met "excel bestanden", dit moet dan veranderd worden in "alle bestanden". Is dit aut. te maken of moet ik dat zoeken in Windows zelf. Ik vraag het omdat ik zag dat je rechtsboven alleen het sluitkruisje zichtbaar laat zijn, en daarom dacht ik dat wellicht de te 'openen bestandssoort' ook aan te passen is.

gr. Rob
 
Probeer het eens met deze.
Code:
Sub Naar_Map_Facturen()

    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = ThisWorkbook.Path & "\KTS Facturen " & Year(Date) & "\"
        .Title = "Lijst van alle facturen"
        .InitialView = msoFileDialogViewList
        .Show
    End With
    
End Sub

Voor wat betreft je 1ste vraag, welke Textbox ??
 
onder artikel omschrijving heb ik een textbox (als ik het goede woord gebruik) waarmee ik een artikel selecteer op basis van de lists die in de kolommen Q t/m U staan . Dit zijn normaal verborgen kolommen omdat ik die pijltje niet wilde zien. Zit die box dan niet in het werkbestandje ?
 
Zou ik er anders naar vragen ?:confused:
Een oplossing is door bij de macro WISaantallen eerst een controle uit te voeren of de autofiltermodus is ingeschakeld. Zoja, eerst autofiltermodus uitschakelen alvorens kolom M te wissen.
 
er zijn dus toch domme vragen ...

als ik Activesheet.AutoFilterMode = False gebruik duurt het best lang en haalt hij nog steeds niet alles weg als ik inboek. wel met de knop WISaantallen. Terwijl die als ik de code inboeken goed begrijp hij ook verwijst naar WISaantallen
 
dit werkt beter en haalt alles weg. Sheets("BESTELLING").AutoFilterMode = False. die andere keek naar het active sheet an dat is op dat moment 'factuur'. Als ik het goed begrijp
 
Als het werkt zoals jij het je had voorgesteld dan heb je het goed begrepen.:D
 
Hallo Rudi,
Die code die je hebt geschreven voor het wijzigen van de aantallen, zou die ook voor meerdere kolommen kunnen werken. Nu wordt het aantal wel gemuteerd, maar de rest ( o.a. btw, marge, evt korting) niet en dan kloppen de bedragen dus niet meer op de factuur als het aantal wijzigd.

Gr. Rob
 
Wijzig de regel die begint met

Code:
If Not IsError(x) .....

in deze

Code:
If Not IsError(x) Then Sheets("FACTUUR").Cells(x, 3).Resize(, 11).Value = Target.Offset(, -10).Resize(, 11).Value: oldvalue = 0: Exit Sub
 
Hallo Rudi,

Top, nu wordt alles meegenomen in de factuur !!

Ik ben nu bezig met het stukje toevoegen en verwijderen van nieuwe of oude artikelen, maar met name toevoegen lukt niet . Op de twaalfde rij voeg ik (handmatig) een nieuwe rij toe en vul in "q12" t/m "u12" de nieuwe gegevens in. De code die ik gebruik om daarna het nieuwe art. nr (q12) gesorteerd op dit nr op de juiste plaats in de lijst met art. te krijgen, werkt niet goed. De cursor gaat keurig naar de eerst vrije regel in ("Q") maar het nieuwe Art nr blijft op q12 staan. Heb al een paar codes geprobeerd maar kom er niet uit.

Dit is de code die probeer te gbruiken.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("u12:u2010")) Is Nothing Then Exit Sub
Range("q12:U2010").Select
Selection.Sort _
Key1:=Range("q12"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, _
MatchCase:=True, Orientation:=xlTopToBottom
Range("Q2010").End(xlUp).Offset(1, 0).Select
End Sub

zou je willen kijken wat er nou niet goed is ?

gr. Rob
 
Header staat op xlYes. Wijzig eens naar xlNo.
Overigens volstaat dit
Code:
Range("q11:U2010").Sort Range("q11"), xlAscending
 
Laatst bewerkt:
Die regel van jouw doet gewoon hetzelfde als alle regels bij elkaar. Dit kan waarschijnlijk ook weer de snelheid beinvloeden ?!. Doet precies wat ik ermee wil doen.
Met het toevoegen van een nieuwe rij heb ik een code gevonden, echter hij zou ook de formules moeten kopieren (althans dat staat in de formule). Als ik de code activeer dan komt er een nieuwe regel, laat hij ook de inhoud van de regel eronder zien in de nwe regel, echter daarna wordt de hele regel leeg. Het leegmaken van de waarden is prima, maar de formules die in bepaalde kolommen staan moeten wel blijven staan. Heb een aantal dingen geprobeerd om te zien of en wat er veranderd maar resultaat is niet goed.

Sub ArtikelTOEVOEGEN()
Dim lgLastRow As Long

lgLastRow = Range("q12").Cells(Range("ab12").count).Row
Rows(lgLastRow).EntireRow.Insert
Rows(lgLastRow + 1).Copy
Rows(lgLastRow).PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
Cells(lgLastRow, 17).Select
End Sub

Groet Rob
 
Als je ipv xlFormats >> xlFormulas gebruikt werkt het wel. Echter door de samengevoegde cellen in kolom AA en AB krijg je allemaal foutmeldingen in kolom AB.
De enige oplossing is het gebruik van samengevoegde cellen vermijden
 
Ok bedankt. Moet ik lay out technischs iets verzinnen. Al met al is het dankzij jou een zeer handig programma aan het worden. Enige wat nu nog ontbreekt is het kunnen verwijderen van aantallen (op BESTELLING) en bijbehorende data in relatie met FACTUUR. Ben je hierover misschien nog wat wijzer geworden ?

In elk geval meer dan bedankt voor hoe je me tot nu toe hebt geholpen !!!
 
Dit zou het zowat moeten zijn.
Test het eens en laat maar iets weten.
 

Bijlagen

Laatst bewerkt:
Perfect man. Nu is elke invoer fout te corrigeren. En ook mooi dat de resterende art. naar boven toe opschuiven bij verwijdering. TOP !!. Ik merkte ook dat als je een art. verwijderd (adhv het aantal) dat dan de art. nrs op volgorde worden gezet in de factuur. Zou dit ook kunnen bij invoer, dus gelijk aan het begin ? Verder ben ik bezig met textbox2 waarmee ik op art. nrs kan zoeken, naast de mogelijkheid om dit te doen met textbox1 op art. omschrijving. OP omschrijving werkt goed, de andere op art.nr wil niet lukken.
Ik gebruik de volgende code voor textbox1 met comm.button1 (voor het legen van de textbox) en ook voor textbox2 alleen dan alles veranderd naar comm.button 2 en textbox2 en het autofilter op 1 (kolom met art.nrs). Kan dit gewoon niet naast elkaar of doe ik gewoon iets fout ?

Private Sub TextBox1_Change()

CommandButton1.Enabled = Len(TextBox1) > 0

If Len(TextBox1.Value) = 0 Then
Sheets("BESTELLING").AutoFilterMode = False
Else
Sheets("BESTELLING").Range("q12:u" & Cells(Rows.Count, 11).End(xlUp).Row).AutoFilter 2, "=*" & TextBox1.Value & "*"
End If

End Sub

---------------------------
Private Sub CommandButton1_Click() '' TextBox leegmaken

Sheets("BESTELLING").AutoFilterMode = False
TextBox1.Value = ""
Application.Goto [BESTELLING!A1], True

End Sub

groet, Rob
 
Weet jij na 28 posts nog niet wat Code tags zijn ??
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan