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

Macro tekst samenvoegen

Status
Niet open voor verdere reacties.

chiellebeest

Gebruiker
Lid geworden
5 jan 2010
Berichten
86
Hallo,

voor onze voetbal vereniging maak ik altijd de overzichten van de wedstrijden. Hiervoor ben ik op zoek naar een macro die in 2 kolommen teksten samenvoegt, n.a.v. een datum.
In de bijlage de data die ik heb. Het is de bedoeling, dat als er in kolom A een zaterdag staat, en in kolom B Thuis 1 of Thuis of Thuis 3 staat, dit gewijzigd wordt in zowel kolom B, E en F. "Thuis 1" moet dus "Thuis 1 zat" worden.

In range A1-F6 de info, in range A10-F10 zoals het zou moeten worden.
 

Bijlagen

  • Zaterdag teams.xlsx
    10,1 KB · Weergaven: 31
Met een macro

Code:
Sub VenA()
ar = Sheets("Blad1").Cells(1).CurrentRegion
  For j = 2 To UBound(ar)
    If Weekday(ar(j, 1), 2) = 6 Then
      For jj = 2 To UBound(ar, 2)
        If Left(ar(j, jj), 5) = "Thuis" Then ar(j, jj) = ar(j, jj) & " zat"
      Next jj
    End If
  Next j
  Sheets("Blad1").Cells(1, 10).Resize(UBound(ar), UBound(ar, 2)) = ar
End Sub
 
Thx!

hij doet wat ie moet doen, echter zou het overschreven moeten worden in range A t/m F.
Vanaf kolom G t/m N staat er ook nog info die ik nodig heb.
 
Verander dan in de laatste lijn Cells(1, 10) door .cells(1,1)
 
Ik heb de laatste regel aangepast. Dit gaat goed.
Mijn voorbeeld was slechts de eerste 5 regels, totaal is de lijst 36 regels.
De macro hoeft alleen maar naar de eerste 3 lijnen te kijken. Nu worden alle regels waar Thuis (naam vereniging) in staat aangepast. Dat is niet de bedoeling.

Het aanpassen (dus & zat) achter de naam hoeft alleen maar als in de eerste 3 regels (B t/m D) in kolom A Thuis 1, Thuis 2 of Thuis 3 staat.

Misschien was mijn eerste uitleg niet helemaal duidelijk. Zie hieronder de formule die werkt, als ik deze in E1 zou plaatsen

=ALS(EN(WEEKDAG(A2)=7;OF(B2="Thuis 1";B2="Thuis 2";B2="Thuis 3"));TEKST.SAMENVOEGEN(B2;" zat");B2)

Hopelijk is het zo duidelijker.
 
Verdiep je eerst eens in wat rijen en kolommen zijn. Het is nu onleesbaar wat de vraag is. De regels B t/m D bestaan niet.
 
Verander
Code:
For jj = 2 To Ubound(ar, 2)
In:
Code:
For jj = 2 To 6

En dan moet er nog een controle op dat als je de code twee keer draait dat je geen "Thuis 1 zat zat" krijgt.
 
Ik heb aan 4 regels genoeg @VenA. ;)

Maar ga je gang.
 
Ik heb de macro nog iets aangepast zodat nu niet bij alle "Thuis" teams "zat" toegevoegd.

En dan moet er nog een controle op dat als je de code twee keer draait dat je geen "Thuis 1 zat zat" krijgt.

Daar had ik nog niet aan gedacht. ik heb dit stukje code in een andere macro bijgeplakt. De macro doet nu wat ie moet doen, maar het klopt dat ie bij nog een keer draaien "zat zat" er van maakt. Heb al het een en ander geprobeerd, maar helaas nog niet gelukt.
Hoe is dit wel af te vangen?
 
bv
Code:
 If Left(ar(j, jj), 5) = "Thuis" and right(arj,jj),3) <> "zat" Then ar(j, jj) = ar(j, jj) & " zat"
 
Dank je! Met een kleine aanpassing ( ontbrak tussen arj bij right(arj,jj),) werkt het nu perfect!

Code:
If Left(ar(j, jj), 5) = "Thuis" and right(ar[COLOR="#FF0000"]([/COLOR]j,jj),3) <> "zat" Then ar(j, jj) = ar(j, jj) & " zat"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan