De Excel-vraagbaak van Hans66

13-06-2011 23:38 80 berichten
Alle reacties Link kopieren
Stel hier jullie vragen over Excel 2010. Andere versies zullen ook wel bruikbaar zijn als enkelen van jullie bijv. werken met Excel 2007.



Ik zal jullie vragen beantwoorden. Als ik geen tijd heb of het antwoord niet weet, kan een andere forummer ook die vraag beantwoorden.



Dus... brand maar los!
World of Warcraft: Legion
Alle reacties Link kopieren
@Moeties: waarom wil je dit uberhaupt kunnen? Je kunt toch het originele document afdrukken.
Alle reacties Link kopieren
Kaaaaaaaatje,



Ik vind het wel raar dat het plaatje niet intact blijft. Er zullen zich situaties voortdoen waarbij men een plaatje wil plakken bij wat tabellen. En zo heb ik wel meer bugs in Excel 2010 ontdekt.



Binnenkort komt overigens Office 365 eraan, maar ik weet de verschillen van Office 2010 en 365 nog niet. Er is een beta-versie voor bedrijven te downloaden, om het uit te proberen en bugs aan Microsoft te melden.
World of Warcraft: Legion
Alle reacties Link kopieren
Ik had vandaag een aardig programmeerklusje. Mijn collega had een jaarrooster gemaakt met Excel, en haar vraag aan mij is om daarvan een kopie te maken en alle inhoud te wissen. Daarna moesten de weeknummers de dagen en de data weer op de juiste plek worden ingevuld voor schooljaar 2011-2012 op dezelfde wijze zoals dat ook was voor schooljaar 2010-2011 voor het wissen.



Een uitdagende klus, maar ik had dat binnen 10 minuten voor elkaar. Ik heb daarvoor in VBA (Visual Basic for Applications) moeten programmeren. Collega helemaal tevreden: "Kijk, aan jou heb ik wat!"
World of Warcraft: Legion
Alle reacties Link kopieren
Even uppen. Wie heeft nog een Excel-probleempje? Of zijn er vragen die ik vergeten ben om te antwoorden?
World of Warcraft: Legion
Alle reacties Link kopieren
Ik wou dit topic nog onder de aandacht brengen. Als je vragen en/of problemen met Excel hebt, meld het dan hier. Het topic is een beetje aan de aandacht ontsnapt, maar ik ben nog steeds bereid om vragen te beantwoorden.
World of Warcraft: Legion
Hans, ik heb je hulp nodig (had ook al een ander topic geopend, maar werd hierheen verwezen):



Ik heb in een kolom een lijst met woorden in excel (zoiets als kat, hond, kat, cavia).

Nu wil ik ze in de volgende kolom opzetten naar een code, dus alle katten krijgen de code 1, honden worden 2, etc.



Het zijn heel veel woorden, die ik kan indelen in ongeveer 20 klassen, en ik weet dat je dat kan doen met een formule, maar ik weet niet meer hoe. Kun jij (of iemand anders) mij helpen?
Alle reacties Link kopieren
Ik zou dat eerder op willen lossen met een macro, geschreven in Visual Basic, Alejandra. Ik ga er vanavond mee puzzelen. Betekent het, dat je 20 verschillende woorden krijgt?
World of Warcraft: Legion
Alle reacties Link kopieren
Ik heb een Visual Basic-macro gemaakt:





Dim Woorden(20) As String

Dim Aantal



Function ZoekWoordOp(w As String)

Index = 0

While Index < Aantal

If Woorden(Index) = w Then 'Gevonden

ZoekWoordOp = Index

Exit Function

End If

Index = Index + 1 'Zoek verder

Wend

ZoekWoordOp = -1

End Function



Function VoegWoordToe(w As String)

Woorden(Aantal) = w 'Voeg als nieuw woord in tabel

VoegWoordToe = Aantal 'Geef de nieuwe index terug

Aantal = Aantal + 1

End Function



Sub VoegCodesToe()

Aantal = 0

Rij = 1

While Cells(Rij, 1) <> "" 'Kijk naar volgende cel

Code = ZoekWoordOp(Cells(Rij, 1)) 'Zoek woord op

If Code = -1 Then 'Niet gevonden?

Code = VoegWoordToe(Cells(Rij, 1)) 'Voeg toe

End If

Cells(Rij, 2) = Code + 1 'Zet de index in de tabel

Rij = Rij + 1 'Pak volgende woord

Wend

End Sub
World of Warcraft: Legion
Alle reacties Link kopieren
Wat leuk Hans, goed geregeld!
Alle reacties Link kopieren
Een zien of Alejandra daar wijs uit kan worden.
World of Warcraft: Legion
Hmm, ik weet niet of ik het helemaal snap, maar ik ga hier eens even mee puzzelen.



Bedankt voor je antwoord!
hans, nee, het lukt me niet op de manier zoals jij voorstelt, ik snap er niet genoeg van om het zo te doen.



Maar ik heb het uiteindelijk opgelost met een tabel en vertikaal zoeken.
Alle reacties Link kopieren
Voor wie het toch wil proberen:

- Zet de woorden vanaf cel A1 onder elkaar, dus in A1, A2, A3, A4, etc.

- Druk op Alt-F11. Dan wordt het VBA-venster geopend;

- Kies Invoegen | Module;

- Plak de bovenstaande code in bericht van 15 september 22:26 in het grootste deel van dat venster;

- Klik op de regel met "Sub VoegCodesToe()";

- Druk op F5.

Dan worden in kolom B (dus B1, B2, B3, etc.) de getallen geplaatst.



Hoe heb jij het met verticaal zoeken opgelost?
World of Warcraft: Legion
Ik heb naast mijn hoofdtabel een kleine tabel gemaakt, met daarin alle voorkomende waarden en hun code.

Toen heb ik in de hoofdtabel een kolom ingevoegd die verwijst naar die kleine tabel. (=zoekenv(H3;$AH$2:$AI$95;2;0). En dan lukt het ook.



Hans, ik heb ook jouw manier geprobeerd, met de nieuwe uitleg lukt het wel.
Alle reacties Link kopieren
Ja, zo kan het ook. Maar ik zou het ook als een functie kunnen schrijven, die een rij getallen teruggeeft.



Mijn macro zoekt alles zelf uit. De woorden staan van te voren niet vast. Het aantal verschillende woorden moet maximaal 20 zijn. Kolom A wordt doorzocht totdat een lege cel aangetroffen wordt; dan stopt de macro.
World of Warcraft: Legion
Alle reacties Link kopieren
Hé Hans,



Hoop dat je hier af en toe nog even kijkt.

Ik wil een werkblad in Excel beveiligen zodat het niet door andere geopend kan worden zonder wachtwoord. Hoe doe ik dat in 2010? En weet je het misschien ook voor Word?



Alvast bedankt!
Alle reacties Link kopieren
Techniek,



- Klik op Bestand, dan Opslaan Als of Opslaan;

- In plaats van Opslaan, klik op Extra;

- Klik op Algemene opties...;

- Verzin een wachtwoord en typ dat in bij Wachtwoord voor openen;

- Klik op OK;

Er komt nog een dialoogvenster.

- Typ het wachtwoord nog een keer in;

- Klik op OK.
World of Warcraft: Legion
Alle reacties Link kopieren
Het is gelukt Hans, hartstikke bedankt!!!! Hier was ik zelf nooit achter gekomen.
Wat handig Hans!!! Leuk dat je dit doet!

Geen vragen hier, maar alvast een fijn weekend!
Alle reacties Link kopieren
Dank je wel, Janna! Insgelijks!
World of Warcraft: Legion
Alle reacties Link kopieren
Ik zit erover na te denken om ook zoiets voor Access te doen, dus een Accessvraagbaak. Maar ik denk dat ik relatief meer verstand heb van Excel dan van Access, maar in dat laatste word ik wel steeds handiger. Op mijn werk werk ik daarmee, dus misschien kan ik ook op het gebied van Access iets voor jullie betekenen.
World of Warcraft: Legion
Alle reacties Link kopieren
Hoi hans!

Ik heb een vraag eigenlijk meer word gerelateerd (heb hem ook al op het nerdtopic gesteld).



quote:

Oke, ik heb nu een heel nadere code gebruikt... maar nu wil ik eigenlijk de formulier data gelijk als .txt (zodat ik het kan verwerken) opslaan, kan dit ook?



Hieronder mijn code, gekoppeld aan een knop:

Private Sub CommandButton1_Click()



ActiveDocument.Save

Dim olApp As Object

Dim olMsg As Object



Set olApp = CreateObject("Outlook.Application")

Set olMsg = olApp.CreateItem(0)

With olMsg

.To = "mailadres"

.Subject = "Test Evaluatie"

.Body = "Hierbij het Ingevulde Evaluatie formulier, Groet"

.Attachments.Add Me.Path + "\" + Me.Name



.Send

End With

Set olMsg = Nothing

Set olApp = Nothing



End Sub



Ik heb gezien dat je misschien .SaveFormData=True kan gebruiken maar hoe?

quote:

@neweve is het nog gelukt (val ff binnen hier)



Je kan gebruiken:

olMsg.SaveAs(me.path & "\naamvanmail.msg")

Wordt wel als een email opgeslagen en niet als tekstbestand.



Dan nog even over het createobject.

In VB.NET wordt iedere keer een nieuwe instantie geopend als je het gebruikt: Ikzelf controleer of outlook al geopend is. Ik weet niet of dat via VBA ook nodig is:



'Open instance

oApp = New Outlook.Application

CheckOutlook = True



On Error Resume Next

oApp = GetObject(, "Outlook.Application")

If Err.Number = 429 Then

oApp = New Outlook.Application

System.Diagnostics.Process.Start("OUTLOOK.EXE")

End If

On Error GoTo mailerror



CheckOutlook = True



Exit Function



mailerror:

CheckOutlook = False





je zegt dat het dan als email wordt opgeslagen ipv als text? Dit moet opzich te doen zijn want dat kan ik kopiëren naar een .txt bestandje. Maar hoe moet ik dit dan in mijn eigen code verwerken???

De code die ik had lijkt bij redelijk wat mensen niet te werken (of de meeste stuurden het gewoon terug...)



Even kort beschreven. Wat ik graag wil is:

Ik heb een word formulier gemaakt (en beveiligd), dit kunnen mensen invullen en naar mij terugsturen. Het liefste heb ik dat het voor hun makkelijk verzenden is, via een verzendknop (of iets dergelijks) en voor mij makkelijk verwerken.

Het verwerken doe ik in excel en om hier word formulieren te gebruiken/inladen moet je de form data opslaan in een .txt bestand.

Als verwerken van het formulier ook op een andere manier makkelijker kan hoor ik dat graag!
Als je bang bent dat alles in de soep loopt, neem dan een pannetje mee.
Alle reacties Link kopieren
Hier moet ik echt voor gaan zitten. Voor mij is dit ook volstrekt nieuw.
World of Warcraft: Legion
Alle reacties Link kopieren
Hans, Dank je als je ervoor gaat zitten. Ik ben benieuwd...
Als je bang bent dat alles in de soep loopt, neem dan een pannetje mee.
blijf het een top actie van je vinden Hans! wou ik even zeggen...



werk nooit met acces, maar voor mijn excelvragen weet ik je te vinden...

Dit is een oud topic. Het topic is daarom gesloten.
Maak een nieuw topic aan om verder praten over dit onderwerp.

Terug naar boven