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

data naar ander bestand loopt niet door, en extra vraag

Status
Niet open voor verdere reacties.
Hier gaat het nog fout, maar de los je zelf wel op.
Code:
If IsNumeric(r) Then .Cells(r, 1).Resize(, 19) = ar Else .Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(, 19) = ar
 
Albert,

de regel wordt overschreven da's goed maar,

hij begint te overschrijven vanaf kolom 1 ipv kolom 3 dus de informatie staat in de verkeerde kolommen
 
tnx,


#23 net gemist,

lijkt te werken ik ga het overzetten
beide bedankt voor het meedenken/oplossen.
 
ik dacht deze code door te hebben, loopt heel goed zoals bedoeld in voorgaande correspondentie ,waarvoor nog veel dank,
wil e'm aanpassen voor het volgende,

als klacht is afgehandeld dan moet ik kolom 23 achter het document nr in de juiste rij "gereed" komen te staan.

de aanpassingen die ik probeer (spelen met de getallen, en stukjes code aanpassen of weglaten) resulteer of dat achter de eerste regel in kolom 23 gereed komt te staan of helemaal onder aan de pagina.(End(xlUp))ect.
gevoel dat ik dicht bij ben, maar nog niet helemaal

wat snap ik niet :confused:
hier gaat het fout (If IsNumeric(r) Then .Rows(Count, 23).Resize(, 1) = ar) ??

Code:
Sub DATA_gereed()
'data overzetten naar klachtenoverzicht, overzicht opslaan en sluiten
  Dim ar
  Dim r
   
  With Sheets("DATA overzetten")
    ar = Array(.Range("gereed").Value)
  End With
  
  With GetObject("C:\Users\Botje\Documents\test excel\Klachtenoverzicht test.xlsm").Sheets("Klachten overzicht")
  r = Application.Match(ar(0), .Columns(4), 0)
    If IsNumeric(r) Then .Rows(Count, 23).Resize(, 1) = ar
    .Parent.Close True
  End With
 
je moet even goed nadenken wat je wenst over te zetten, dus #21 (licht aangpast) van commentaar voorzien
Code:
   If IsNumeric(r) Then                          'heeft de overeenkomstige rij gevonden
      .Cells(r, 3).Resize(, 19) = ar             'dan in die gevonden rij, de 3e kolom schrijf je de inhoud van ar (19 cellen breed)
   Else
      .Cells(Rows.Count, 3).End(xlUp).Offset(1).Resize(, 19) = ar   'anders zoek je vanaf beneden, de laatst ingevulde cel in de 3e kolom en de rij eronder plaats je ar
   End If
zo te zien in jouw reactie #28 gooi je die 2 verschillende zaken op een hoopje.
Code:
 If IsNumeric(r) Then[COLOR="#FF0000"] .cells(r,[/COLOR] 23).Resize(,[COLOR="#FF0000"] x[/COLOR]) = ar
waarbij je x nog moet aanpassen (19?)
 
Code:
With Sheets("DATA overzetten")
    ar = Array(.Range("gereed").Value)' ***********denk eens goed na, welke waarde staat in range("gereed").value
  End With


ar(0) = de waarde van range("gereed").value ,deze zul je dus nooit vinden in kolom 4
Code:
r = Application.Match(ar(0), .Columns(4), 0)
 
Laatst bewerkt:
Beide bedankt, voor de uitleg,
Cow18 in dit geval moet de code 'gereed' plaatsen achter de rij die vergelijkbaar is (ar(0), .columns(4). dus maar in 1 cel in kolom 23,
"die andere code in bericht #21 ging om data weg of over te schrijven."


begin het iets beter te snappen, was de vergelijkende cel vergeten,
maar het lukt niet om het blauwe stukje code goed te krijgen,

Code:
Sub DATA_gereed()
'data overzetten naar klachtenoverzicht, overzicht opslaan en sluiten
  Dim ar
  Dim r
   
  With Sheets("DATA overzetten")
    ar = Array(.Range("Document").Value, (.Range("gereed").Value)) 'kijk naar deze 2 cellen
  End With
  
  With GetObject("S:\Projecten\Klachten\Nieuwe Klachten procedure 2020\zz archief\Klachtenoverzicht test.xlsm").Sheets("Klachten overzicht")
  r = Application.Match(ar(0), .Columns(4), 0) 'heeft overeenkomst gevonden in kolom 4 op basis document nr.(ar(0)
    If IsNumeric(r) Then [COLOR="#0000FF"].Cells(r, 23).Resize(, 0) = ar[/COLOR]
    .Parent.Close True
  End With
  End Sub

ik ben hier even mee bezig geweest en deze werkt ..
Code:
If IsNumeric(r) Then .Cells(r, 23).Resize(, 1) = r

maar zet nummers op die plek ipv gereed.:evil:
 
Ik lees heel snel vertikaal en spit niet ieder voorbeeld 100% uit.
misschien ???
Code:
If IsNumeric(r) Then .Cells(r, 23).value = "gereed, denk ik toch"
 
Laatst bewerkt:
Code:
With Sheets("DATA overzetten")
    zoekwaarde = .Range("Document").Value
  End With
  
  With GetObject("S:\Projecten\Klachten\Nieuwe Klachten procedure 2020\zz archief\Klachtenoverzicht test.xlsm").Sheets("Klachten overzicht")
  r = Application.Match(zoekwaarde, .Columns(4), 0)[COLOR="#008000"] 'zoek in kolom 4, zo ja , r is hier het rijnummer[/COLOR]
    If IsNumeric(r) Then .Cells(r, 23)="gereed"
    .Parent.Close True
  End With
 
Bedankt, ik had het mezelf te moeilijk gemaakt,
zo klinkt en ziet het er logisch uit,
affijn, ik ga het wel leren.

document is nu klaar voor gebruikt, ze zijn er blij mee, minder typewerk en verschillende files bijhouden.
allen bedankt voor de ondersteuning.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan