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

VBA-script probleem in twee excel workbooks (Find and Add)

Status
Niet open voor verdere reacties.

RJJ01

Nieuwe gebruiker
Lid geworden
23 mrt 2017
Berichten
2
Beste mensen,

Ik zit met een probleempje in onderstaand script:

Dim i As Long
For i = 1 To 9999

With Range("D" & i)
If Len(.Value) = 4 Then Sheet1.Range("$D$" & i) = "012345" & Sheet1.Range("$D$" & i)
End With
Next i

Nu is mijn kennis van VBA niet denderend, echter loop ik tegen het volgende aan:
Ik voer deze macro uit vanuit een ander excel werboek A en wil dat de gegevens gepubliceerd worden in werkboek B. Echter met de huidige code worden de waardes wel opgezocht in werkboek B, echter gepubliceerd in werkboek A. Hoe zorg ik ervoor dat deze data wordt gepubliceerd in werkboek B?

Groetjes Roy
 
Vervang

Code:
Sheet1.

door:

Code:
Worksheets("Sheet1").

Oftewel:

Code:
 Dim i As Long
 For i = 1 To 9999
 If Len(Range("D" & i).Value) = 4 Then Worksheets("Sheet1").Range("$D$" & i).Value = "012345" & Worksheets("Sheet1").Range("$D$" & i).Value
 Next i
 
Laatst bewerkt:
VBA opgelost/solved

Beste Jan Karel Pieterse,

Je bent een held! Hartelijk dank voor je snelle reactie en hulp. De code doet precies waar ik naar opzoek was!

Een fijne dag nog!

Groetjes Roy
 
of
Code:
Sub M_snb()
  with sheet1
    For j = 1 To 9999
      if len(.cells(j,4))=4 then .cells(j,4)="012345" & .cells(j,4)
    next
  end with
end sub
of
Code:
Sub M_snb()
  sn=sheet1.range("D1:D9999")

  For j = 1 To 9999
    if len(sn(j,1))=4 then sn(j,1)="012345" & sn(j,1)
  next

 sheet1.range("D1:D9999")=sn
End Sub
of
Code:
sub M_snb()
  [sheet1!D1:D9999]=[if(len(sheet1!D1:D9999)=4,"012345","")&sheet1!D1:D9999]
end sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan