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

WORD document samenstellen via celnamen EXCEL.

Status
Niet open voor verdere reacties.

Roeijoen

Gebruiker
Lid geworden
2 feb 2012
Berichten
26
Beste Forumleden,

Ik ben voor de hobby een weekplanner aan het maken voor het koken. bestellijst voor de supermarkt enz.

Nu wil ik een stapje verder gaan, ik eet door de week een aantal recepten die ik netjes in een Word document heb gemaakt, om het overzichtelijk te houden heb ik deze onder recept namen opgeslagen zelfde namen die ik ook selecteer in excel.
Nu is mijn vraag kan ik vanuit excel een word document samenstellen met de geselecteerde recepten via VBA?

voorbeeld: ik heb ik A1 tomatensoep staan en in A2 Boerenkool, dan wil ik het recept van de tomatensoep als eerste en daarna de boerenkool erachteraan.

met vriendelijke groet,

Jeroen
 
voorbeeld: ik heb ik A1 tomatensoep staan en in A2 Boerenkool, dan wil ik het recept van de tomatensoep als eerste en daarna de boerenkool erachteraan.
Dat klinkt een beetje of je wil Afdruk Samenvoegen, maar dat strookt dan weer niet met het begin van je vraag, waarin je de recepten in een Word document zet. In dat geval staan de receptregels niet in je Excel bestand.
Als het om losse Word bestanden gaat, waarvan de naam in je Excel bestand staat, kun je inderdaad samenvoegen op de manier zoals je wilt. Je maakt dan een samenvoegdocument aan in Word, dat je koppelt aan je Excel document en waarin je de bestandsnaam (uit kolom A) in een IncludeText veld zet.
Veel meer een Word vraag trouwens dan een Excel vraag, want Excel heeft hier niet zoveel mee te maken. Tenzij je m.b.v. een macro alles vanuit Excel wil samenstellen.
 
Ik wil het inderdaad vanuit Excel allemaal sturen, omdat ik daar ook het rooster in maak, dacht ik met 1 druk op de knop heb ik dan het rooster en de recepten.
 
Ach, als je van veel meer werk houdt, is dat natuurlijk een prima optie :). Ik zou het vanuit Word doen, omdat het dus (je raadt het al...) veel minder werk is.
 
In het Worddocument heb je natuurlijk alle recepten in documentvariabelen staan.

Vanuit Excel maak je een kopie van dat document en verwijdert alle documentvariabelen die niet in A1 of A2 staan: update, klaar.

Code:
for each it in document.variables
  if instr([A1]&[A2},it)=0 then it.delete
next
 
Laatst bewerkt:
In het Worddocument heb je natuurlijk alle recepten in documentvariabelen staan.
Niet helemaal goed gelezen (of begrepen) wat TS precies gedaan heeft :).

... een aantal recepten die ik netjes in een Word document heb gemaakt, om het overzichtelijk te houden heb ik deze onder recept namen opgeslagen zelfde namen
TS heeft dus, tenzij ik gekke Henkie ben, voor elk recept een document gemaakt. En dan heb je niks aan documentvariabelen. Wat dan wél werkt, is de samenvoegmethode met het IncludeText veld. Die (de samenvoeging) zou je trouwens nog wel vanuit Excel kunnen afschieten met een knop, als je te lui bent om Word te openen :D.
 
Ik ben al weer een heel stuk verder, en schrijf dus nu eigenlijk ook vanuit Excel naar Word. maar doe dit via de functie bookmarks.
ik heb een template gemaakt in Word met bookmarks. Excel opent het Word document en plaatst de recepten op de bookmark. ik wil de code best publiceren alleen heb ik er al zoveel aan gerommeld dat er veel prive dingen tussen staan. dus zodra ik het voor mezelf werkend heb zal ik de code publiceren.

nu heb ik alleen het volgende gedaan: ik heb de gerechten overgezet naar een andere lijst. daar duplicaten verwijderd zoals en cellen omhoog geplaatst. nu vond ik al de fout dat excel mijn formule verwijderd. dus dacht plaats via een stukje tekst de formule weer terug. nu krijg ik #NAAM en als ik op de formule druk en druk enter doet ie het wel, waar ga ik fout?

Code:
With Sheets("ReceptenOpslaan")
        .Range("A3:A16").RemoveDuplicates Columns:=1, Header:=xlYes
        .Range("A3:A16").Select
        Selection.SpecialCells(xlCellTypeBlanks).Select
        Selection.Delete Shift:=xlUp
        .Range("B2").Formula = "=AANTALARG(B$3:B$16)"
End With
 
Wijzig aantalarg in counta. Ook al werk je met de Nederlandse versie dan nog moet je in VBA Engelstalige formules gebruiken.
 
Je kan ook...
Code:
.Range("B2").Formula[COLOR=#0000ff]local[/COLOR] = "=AANTALARG(B$3:B$16)"
...toepassen, maar dan voor eigen gebruik (je weet immers niet welke taalversie iemand anders heeft).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan