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

Simpel macro vraagje (hoop ik)

Status
Niet open voor verdere reacties.

HarrieV12

Gebruiker
Lid geworden
22 sep 2017
Berichten
7
Goeieavond,

Aangezien ik een basic gebruiker van Excel ben en VBA/macro's nog niet echt ken wil ik jullie vragen of iemand een macro'tje voor me kan/wil maken.

Via de zoekfunctie kwam ik een hoop tegen maar niet precies wat ik wil, en de macro's/code's die ik geprobeerd heb kreeg ik niet goed aangepast.


Wat ik wil is het volgende; vanaf werkblad 1 (of een willekeurige plaats in de werkmap) met een sneltoets (Ctrl P) een kopie maken van werkblad 'Nieuw' (welke ik als sjabloon gebruik)

Dit moet aan de volgende eisen voldoen;

- Aangemaakte werkblad moet als naam de waarde aannemen van de cel waar ik op sta op moment dat ik de sneltoets gebruik.
- De cel waar ik op dat moment op sta moet veranderen in een hyperlink naar het aangemaakte werkblad.
- Weer te geven waarde/naam in de cel moet dan de bladnaam zijn waar hij naar verwijst (en dat is dus de waarde die er al stond)
- De cel met de hyperlink wordt wel eens verplaatst (staan er meerdere onder elkaar die wel eens verschillend gesorteerd worden), de waarden mogen dan niet wijzigen en de link moet blijven werken.

Samengevat sta ik dus op een cel met de waarde '........', vervolgens druk ik op Ctrl P, krijg ik een kopie van blad 'nieuw', deze krijgt als naam '........' en de cel waar ik op sta veranderd in een hyperlink en houd als waarde '.......'


Als iemand met hier aan kan helpen, dan bij voorbaat dank!!

Mvg Harrie de Ruiter
 
Harrie, welkom Helpmij.nl!

het is een goede gewoonte om bij een vraag een excelbestand als bijlage te posten. Dat bestand bevat datgene wat je al hebt.
In jouw geval zou daar dus in ieder geval OOK het tabblad nieuw moeten bevatten.
 
Deze dan?

Code:
Sub simpelemacro()
Dim Naam As String
Naam = ActiveCell.Value

Sheets("nieuw").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Naam
Sheets("nieuw").Select

ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=Naam & "!A1", TextToDisplay:=Naam


End Sub
 
Goeiemorgen,

als eerste bedankt voor de vlotte reacties

ik heb even een blanco bestand opgezet en de code van SjonR geprobeerd, de tweede versie klopt al aardig.

Hieronder hoe ik hem nu heb toegepast (naam aangepast, Copy Before ipv After, te selecteren sheet voor het plaatsen van de hyperlink aangepast naar Projectoverzicht omdat de link op blad 'nieuw' kwam)

Werkt zo te zien perfect, op één puntje na; de hyperlink geeft fout ongeldige verwijzing. als ik er op ga staan zie je in de popup dan de '....' apostrofjes (of hoe heten die dingen) missen.

Verder al super!

Code:
Sub Nieuw_Project()
Dim Naam As String
Naam = ActiveCell.Value

Sheets("nieuw").Copy Before:=Sheets(Sheets.Count)
ActiveSheet.Name = Naam
Sheets("Projectoverzicht").Select

ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=Naam & "!A1", TextToDisplay:=Naam


End Sub
 
Goedemorgen Harrie,

omdat de namen van de tabbladen geen ononderbroken tekst zijn moeten ze tussen aanhalingstekens komen te staan. Probeer deze nu eens:
Code:
Sub Nieuw_Project()
Dim Naam As String
Naam = ActiveCell.Value

Sheets("nieuw").Copy Before:=Sheets(Sheets.Count)
ActiveSheet.Name = Naam
Sheets("Projectoverzicht").Select

ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Naam & "'" & "!A1", TextToDisplay:=Naam


End Sub
 
Iets in die richting?
Waarom je Ctrl P wilt gebruiken is mij een raadsel, dit is namelijk een bestaande shortcut.
 

Bijlagen

  • HarrieV12.xlsb
    17,7 KB · Weergaven: 51
@SjonR

Vermijd 'select'

Code:
Sub Nieuw_Project()
  Naam = ActiveCell.Value

  Sheets("nieuw").Copy Sheets(Sheets.Count)
  with ActiveSheet
    .Name = Naam
    .Hyperlinks.Add .cells(1), "", "'" & Naam & "'!A1", Naam
  end with
End Sub
 
Goedemorgen Snb,

Wat is het risico/nadeel van select? vermoedelijk antwoord: Select is macrotaal en geen programmeertaal)
 
Laatst bewerkt:
Les 1 VBA voor beginners. (zoek eens wat in dit forum).
 
Philiep,

bedankt voor je antwoord.

@ Snb, jammer dat je wel de melding "vermijd select" doet, maar vervolgens het antwoord op een simpele vraag afdoet met een verwijzing naar les 1.....etc.
 
@SjonR
Uw vbtje zonder select.
Code:
Sheets("Projectoverzicht").ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Naam & "'" & "!A1", TextToDisplay:=Naam

Select is macrotaal en geen programmeertaal
Dit is een groot misverstand die ik op het forum nog heb gezien.
Er is niet zoiets als macrotaal of programmeertaal.
Een macro is VBA, iets gemaakt met de VBA editor is ook VBA.
 
@ SjonR; de laatste die jij aandroeg werkt perfect!

ik heb de rest even getest, en met de aanvulling van Philiep krijg ik een foutmelding, hij plaatst wel het blad maar niet de hyperlink. Geeft aan dat hij de functie niet ondersteunt in dit object.

als ik het goed begreep bedoelde hij het volgende
Code:
Sub Nieuw_Project()
Dim Naam As String
Naam = ActiveCell.Value

Sheets("nieuw").Copy Before:=Sheets(Sheets.Count)
ActiveSheet.Name = Naam

Sheets("Projectoverzicht").ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Naam & "'" & "!A1", TextToDisplay:=Naam


End Sub

Wat Snb aandraagt heb ik ook getest, maar dan plaatst hij de hyperlink weer op tabblad 'nieuw'

Zoals het nu werkt is voor mij prima, mijn grote dank!!!!!!
 
Als laatste nog even een klein formule vraagje (als dat mag in zelfde topic)

Op de projectbladen wordt een zoekopdracht gebruikt om aan de hand van de bladnaam de juiste waarden (naam, omschrijving en onderverdeling) uit de matrix op 'Projectoverzicht' te halen.
Op de projectbladen wordt ook een som opgeteld van de kosten, dit staat altijd in cel D11

Weet iemand een formule/zoekopdracht/functie om de waarde uit cel D11 van een projectblad in de matrix op 'Projectoverzicht' te plaatsen op de juiste projectregel in Kolom H??

Mag gewoon een formule zijn, die kopieer ik dan mee als ik een nieuwe projectregel aanmaak.

Als we dit op weten te lossen heb ik m'n bestand (voorlopig :p) helemaal af.
 
Probeer eens deze in H5 en dan doortrekken naar beneden
Code:
=ALS.FOUT(INDIRECT("'"&B5&"'!$D$11");0)
 
Beste,

Ik heb deze macro getest :
Code:
Sub Nieuw_Project()
  Naam = ActiveCell.Value

  Sheets("nieuw").Copy Sheets(Sheets.Count)
  with ActiveSheet
    .Name = Naam
    .Hyperlinks.Add .cells(1), "", "'" & Naam & "'!A1", Naam
  end with
End Sub
Hij maakt een nieuw tabblad aan maar hij maakt geen hyperlink in het tabblad "projectoverzicht"

Deze macro geeft op lijn in het rood een foutmelding (eigenschap of methode wordt niet ondersteund)
Code:
Sub Nieuw_Project()
Dim Naam As String
Naam = ActiveCell.Value

Sheets("nieuw").Copy Before:=Sheets(Sheets.Count)
ActiveSheet.Name = Naam

[COLOR="#FF0000"]Sheets("Projectoverzicht").ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Naam & "'" & "!A1", TextToDisplay:=Naam[/COLOR]


End Sub
 
@ SjonR

Ha kijk, in één keer opgelost. beetje basis formule's kom ik een eindje mee op weg, maar dit kreeg ik nog niet verzonnen.

Al is dit voor jullie waarschijnlijk nog niet eens 'basis' te noemen :eek::eek:

Maar bij deze super bedankt!! Hieronder nog een keer het 'Blanco Projectbestand' met de macro en de formule's zoals het nu werkt, als iemand het wil gebruiken, ga gerust je gang!!

Gr. Harrie

Bekijk bijlage Blanco Projectbestand.xlsm
 
als iemand het wil gebruiken, ga gerust je gang!!
Lijkt mij niet zo'n goed advies.

Leg in ieder geval uit hoe het geheel werkt. En waarom het hoofdzakelijk niet werkt. Om een paar tipjes van de sluier op te lichten:
- Activecell is leeg;
- Activecell bevat geen hyperlink;
- De naam van de tab bestaat al;
- .........

Maar als het voor jou werkt, dan werkt het natuurlijk.;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan