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

Invoeren vaste range op willekeurige plek met makro.

Status
Niet open voor verdere reacties.

Colombe

Gebruiker
Lid geworden
28 jan 2001
Berichten
754
Ik zal wel iets over het hoofd zien, maar het lukt me niet om een vaste range op iedere willekeurige plek in te voegen met een makro. Met Lotus kon je de copy functie kiezen, vervolgens de rangenaam en dan ter plekke die range in kopieren. Excel kent dat niet, maar is er een andere oplossing?
 
Colombe,

Zet deze code achter het blad en dubbelklik dan op een cel.
Pas natuurlijk eerst de range aan die je wil gebruiken.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Target.Cells = Range("G3").Value
End Sub
Zo vraagt hij van welke cel inhoud je hier voor wil gebruiken.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  gebruik = InputBox("Welke cel moet er gebruikt worden?")
  Target.Cells = Range(gebruik).Value
End Sub
 
Laatst bewerkt:
Bedankt ExcelAmateur voor je snelle reactie. Helaas lukt het niet bij mij. Ik heb een module aangemaakt en ipv "G33" "TEST" gezet, de naam van de range die ik wil invoegen. Op een dubbelklik gebeurt er niets. Doe ik iets fout?
 
De code moet achter het Blad staan en niet in een module.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Target.Cells = "Test"
End Sub
Klik met rechts op de tab van het blad en kies voor "Programmacode weergeven" plaats hier de code.
 
Laatst bewerkt:
Weer iets geleerd over Excel:"achter het blad". Maar helaas het werkt niet. Er wordt de tekst TEST ingevuld en niet range TEST die uit verschillende rijen bestaat. Moet het dan misschien anders?
En hoe moet het als ik twee van dergelijke ranges heb, die op verschillende plekken moeten kunnen worden ingevoerd?
 
Zo te zien werkt het nu, alleen niet zoals je wil.
Het blijft natte vinger werk zonder voorbeeld met wat je wil.

Doe het volgende;
Plaats hier het bestandje zonder gevoelige info, met op het blad de uitleg wat er precies moet gebeuren.
 
Als ik het goed begrijp, wil je het huidige bereik benoemen:
Code:
Sub test()
Selection.Name = "Test"
End Sub

Als je een ander bereik selecteer en de macro start, dan krijgt het nieuwe bereik de naam Test.

Met vriendelijke groet,


Roncancio
 
Nee, dat bedoelde ik niet.
Ik wil de range TEST op iedere willekeurige regel kunnen invoegen, zodat deze gegevens iedere maand weer terugkomen.
 
Code:
Sub invoegen()
With ActiveCell.EntireRow
    .Insert
    .Offset(-1, 0).Value = Range("TEST").Value
End With
End Sub

Met vriendelijke groet,


Roncancio
 
Bedankt Roncancio, dit is al iets beter.
Helaas wordt alleen de eerste regel ingevoegd, ook als ik eersr 5 rijen selecteer. En bovendien niet de opmaak. Zou je het nog kunnen verbeteren? Mijn vb stelt niet veel voor.
 
Code:
Sub invoegen()
Selection.EntireRow.Insert
Range("TEST").Copy Selection
End Sub

Met vriendelijke groet,


Roncancio
 
Weer beter, maar nog niet helemaal goed. Na een paar keer invoegen krijg ik fout 400. En de makro lijkt de rijen te overschrijven in plaats van ze in te voegen.
 
Ik ben er, met jullie hulp, inmiddels zelf uitgekomen. De juiste code voor een makro is:

ActiveCell.Rows("1:5").EntireRow.Select
Selection.EntireRow.Insert Shift:=x1Down
Range("TEST").Copy Selection
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan