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

tekst kopieren en plakken in andere cel door aanklikken.

Status
Niet open voor verdere reacties.

tdielemans

Gebruiker
Lid geworden
21 okt 2007
Berichten
19
Hallo, ik heb een prachtig probleempje.
ik zou graag een oplossing willen hebben als het mogelijk is m.b.t. het kopieren van een tekst in een cel dat als ik deze aanklik hij vanzelf de tekst kopieerd in een vastgesteld vakje. Dit zou voor verschillende teksten op verschillende cellen moeten gebeuren.
Dit gaat helaas niet met een macro omdat elke tekst verschillende locaties hebben en krijgen. Ik weet niet of dit Uberhaubt mogelijk is wat ik vraag.
HELP! :(
 
Laatst bewerkt:
ik heb totaal geen verstand van excel.

maar kan je niet gewoon de tekst selecteren en dan met Ctrl + C de tekst copieeren.
en dan met Ctrl + V in een andere cel plakken
 
Jazeker, dit zou kunnen.
Maar, het gaat niet zozeer om enkel een paar woordjes maar het plaatsen van namen (veel namen) die in een afzonderlijke sheet op een vaste locatie geplaatst moet worden.
ik moet een selectie uit al die namen zo aan kunnen wijzen en met een klik verplaatst worden naar bv Blad 2 C20. Zou ik het moeten kopieren dan zou ik het zo in de tekst kunnen typen zonder het kopieerwerk. het gaat echt via de moeilijke weg. Helaas.
 
Met een event macro is het te wel te doen.
Deze macro doet het volgende:
Wanneer je op een cel dubbelklikt op het eerst blad, wordt de waarde (naam) in de genoemde cel van het tweede blad gezet.
Elke volgende keer wordt de naam 1 rij lager gezet.
Resultaat is een kolom geselecteerde namen.

Code:
public iCount as integer
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As _
    Boolean)
dim sNaam as string

sNaam = ActiveCell.value
worksheets("blad2").cells(iCount + 20, 3).value = sNaam
iCount = iCount + 1 
end sub
comm: door iCount als public te definieëren wordt de waarde steeds onthouden
de eerst keer heeft iCount de waarde 0, door er 20 bij op te tellen
zitten we op rij 20 voor de eerste naam.
Dan wordt er 1 bij opgeteld voor de volgende naam in de volgende rij enz.
mvg leo
 
Laatst bewerkt:
Oke, we zijn in ieder geval op de goede weg, maar..sorry.
Dit geld alleen voor 1 naam op 1 plaats, hoe moet ik nu 1 andere naam die bv tussen andere namen die op blad 1-A2 t/m blad 1-A30 staan overbrengen naar cel Blad2 A-21?
Het dubbel klikken doet het bij mij trouwens niet? doe ik iets verkeerd? het werkt wel telkens als ik de macro run.
 
Laatst bewerkt:
Bij dit macrootje kun je elke cel (naam) aan klikken van blad 1 die je wil.
de eerste keer wordt de naam in C20 van het tweede blad gezet (ho foutje pas de macro even aan zo)
de tweede naam die je aanklikt wordt in C21 gezet de derde in C22 enzovoorts.
Wanneer je wilt dat de namen in dezelfde kolom blijven, maar dan op het tweede blad (a blijft in a)
Dan lees je eerst het kolom nummer uit en door de volgende code toe te voegen
Code:
 dim r as range
r = target.column
r gebruik je nu op de plaats van de kolom(3) in cells.
Ik heb er een voorbeeldje bijgedaan waar alles op blad2 in 1 kolom wordt gezet.
 

Bijlagen

  • namen.zip
    7,4 KB · Weergaven: 207
Laatst bewerkt:
Nou, nu gaat het waarschijnlijk heel goed gaan komen, helaas is mijn kennis van excel erg oppervlakkig. zeg en vergeef het me als ik het verkeerd doe.
Maar ik kopieer nu jou oplossing en plak deze in een macro.
zou je voor mij deze macro in 1 geheel willen plaatsen zodat hij compleet is?

nu kopieer ik:

Sub kopieren()
sNaam = ActiveCell.Value
Worksheets("blad1").Cells(20, 3).Value = sNaam
End Sub
 
Wouh, hier moet ik even goed induiken, maar dit ziet er goed uit, ik heb nachtdienst dus ik ben hier nog wel even mee bezig. supergoed!:thumb:
 
Het dubbel klikken doet het bij mij trouwens niet? doe ik iets verkeerd? het werkt wel telkens als ik de macro run
de truc is juist de event macro, dat is een vaste macro van Excel, die (in dit geval) elke keer de gebeurtenis dubbelklikken afvangt en dan de code uitvoert, zie voorbeeld.
 
mocht ik nog vragen hebben zet ik ze nog even op de site, hartelijk bedankt zover in ieder geval, jij kunt rustig slapen gaan. haha
 
Oke, we zijn er bijna.
Nu kan ik idd diverse namen selecteren uit een lijst. Verbazend op zich moet ik zeggen.
maar nu wil ik alleen nog kunnen bepalen waar precies ik die naam wil hebben in blad2.
dat het er zo uitziet op blad2 bv:

alle blauwen:
janssen
karelsen

alle groenen:
pietersen
sjakiesen

Zodat ik dit kan bepalen wie waar komt te staan. Maar dat ik in blad1 de mensen wel kan groeperen die in blad 2 wel in dezelfde categorie komt te staan. Bv:

categorie blauwen: janssen, karelsen, juppiesen, derksen, etc. (dezen kunnen dus alleen in de categorie blauw komen te staan)
categorie groenen: sjefkes, dummies, sjakiesen, pietersen, etc. (dezen kunnen dus alleen in de categorie groen komen te staan)
categorie witten: blubbersen, olafsen, etc.

In de macro zie ik dat ik het "blad2" bv duidelijk kan wijzigen alleen de verwijzing naar de cel kolom 3 zie ik niet in visual basic.
Het is net of je me leert fietsen he? Maar ik zal het niet meer verleren!
 
Laatst bewerkt:
Goedemorgen?:)
De kolom verwijzing zit it in de cells(y,x).value, waarvan x de kolom is dat is in VBA andersom dan normaal.
als ik je goed begrijp wil je vanuit een blad met (willekeurig geplaatste?) namen,
deze op een ander blad opnemen en dan in categoriën ingedeeld.
De volgen de stap zou dan zijn om op blad2 een aantal kolommen (één per categorie) te reserveren.
Vervolgens maak je een userform (dialoogvenster) met een listbox die je categoriën weer geeft.
Deze userform komt tussen het uitlezen van de aangeklikte naam en het schrijven van de waarde op blad2.
De gebruiker kiest een categorie, waarop het venster gesloten wordt.
Met Select Case kun je aangeven in welke kolom je de waarde geplaatst wil hebben aan de hand van de categorie.
Het laatste waar dan aangedacht moet worden is dat je per kolom een eigen teller moet hebben voor de eerste lege cel.
Daar zijn verschillende manieren voor.
Ikzelf zou er voor kiezen om per kolom (categorie dus) een cel te reserveren
waarin de eerste lege cel in bijgehouden wordt.
Zo kun je makkelijk de volgende keer verder gaan waar je gebleven bent, wanneer excel afgesloten wordt.
Ik ben me er van bewust dat het een ingewikkeld verhaal kan lijken zo in één keer.
Wanneer je het stap voor stap doorloopt valt het best mee.
De verschillende termen zijn goed op te zoeken, VBA heeft een prachtige help functie.
Daar waar je er toch niet uitkomt help ik graag met uitwerken.
mvg leo
 
Zo, het manneke is weer wakker:shocked: en druk.
Dat is idd een flinke slok info, maar daar vroeg ik om he.:confused:
Ik ga hier eens mee aan de slag maar laat je weten als het gelukt is.
Kei goed, bedankt alvast.:thumb:
Groetjes Theo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan