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

aangeven van een gebied binnen een macro

Status
Niet open voor verdere reacties.

Willem Blaas

Gebruiker
Lid geworden
30 aug 2006
Berichten
253
geacht forum,

ik wil een gebied aan laten wijzen door de gebruiker (is altijd een rechthoek, dus niet moeilijk) maar dit gebied (de gegevens hiervan) wil ik gebruiken als een variabele om dit gebied later weer te gebruiken.

ik vraag dus via een boodschap "geef gebied aan"

de gebruiker doet dit (bv Range("E2:u26").Select) dit is dus geselecteerd door de gebruiker

en deze gegevens wil ik opslaan in de variabele bv strgebied en dat later weer kunnen aanroepen cq gebruiken

Code:
Sub gebied()

    Dim strgebied As Variant

    MsgBox " Geef puzzelgebied aan.", vbOK, "Puzzelinvoer"

    Sheets("puzzel").Select
    
    Range("strgebied").Select
    
End Sub

wanneer de gebruiker een gebied heeft geselecteerd moet hij op een oke knop drukken en wordt dit gebied als "strgebied" bewaard

is dit mogelijk? ik roep altijd "alles is mogelijk" maar hier loop ik dus even tegenaan en kan niet verder


bvd willem blaas
 
Laatst bewerkt door een moderator:
Beste Willem,

Is dit een begin?

Code:
Sub PuzzelGebied()

Dim r As Range      'Wordt het puzzelgebied
Dim Bc As String    'BeginCel van het puzzelgebied
Dim Lc As String    'LaatseCel van het puzzelgebied

        Sheets("Puzzel").Activate
        Bc = InputBox("Geef de eerste cel van het puzzelgebied aan", "Puzzelgebied aangeven")
        Lc = InputBox("Geef de laatste cel van het puzzelgebied aan", "Puzzelgebied aangeven")
        
    Set r = Range(bc, Lc) 'Het puzzelgebied toewijzen    
    r.Select
    
End Sub

Mvg,

Ronald
 
Code:
Sub PuzzelGebied()
    Dim strgebied As Range 
    Sheets("puzzel").Activate
    Set strgebied = Application.InputBox("Selecteer het puzzelgebied met de muis", "Puzzelgebied aangeven", , , , , , 8)
    strgebied.Select
End Sub
 
Beste Willem,

Is dit een begin?

Code:
Sub PuzzelGebied()

Dim r As Range      'Wordt het puzzelgebied
Dim Bc As String    'BeginCel van het puzzelgebied
Dim Lc As String    'LaatseCel van het puzzelgebied

        Sheets("Puzzel").Activate
        Bc = InputBox("Geef de eerste cel van het puzzelgebied aan", "Puzzelgebied aangeven")
        Lc = InputBox("Geef de laatste cel van het puzzelgebied aan", "Puzzelgebied aangeven")
        
    Set r = Range(bc, Lc) 'Het puzzelgebied toewijzen    
    r.Select
    
End Sub

Mvg,

Ronald
ik ga beide antwoorden beproeven, welk een weelde

in ieder geval beiden bedankt en ik laat horen hoe het gaat in dit geval

en pr week-end allen

mzvrgr willem blaas
 
Code:
Sub PuzzelGebied()
    Dim strgebied As Range 
    Sheets("puzzel").Activate
    Set strgebied = Application.InputBox("Selecteer het puzzelgebied met de muis", "Puzzelgebied aangeven", , , , , , 8)
    strgebied.Select
End Sub
deze lijkt me het makkelijkst en werk net zo goed als de andere oplossing, maar............

wanneer ik verder wil met het geselecteerde gebied om daar eea te laten doen geeft die een foutmelding , iets met een global ????

hieronder een stukje voorbeeld van een vervolg op uw oplossing

=================================================
Dim strgebied As Range
Sheets("puzzel").Activate
Set strgebied = Application.InputBox("Selecteer het puzzelgebied met de muis", "Puzzelgebied aangeven", , , , , , 8)
strgebied.Select

Range(strgebied).Select
Selection.Replace What:="A", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Range(strgebied).Select
Selection.Replace What:="B", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

==========================================================
wat me ook opvalt is dat wanneer dimgebied is "gemaakt" en je gaat erop staan geeft hij niet wat hij is, in zich heeft, dus het geselecteerde gebied

het is een beetje moeilijk vertellen maar we proberen het, en , aldoende he

bvd willem blaas
 
Code:
Sub fff()

    Dim rngGebied As Range
    
    Sheets("puzzel").Activate
    
    Set rngGebied = Application.InputBox("Selecteer het puzzelgebied met de muis", "Puzzelgebied aangeven", , , , , , 8)
    
    rngGebied.Replace "A", "", xlPart
    rngGebied.Replace "B", "", xlPart

End Sub

Graag code tags gebruiken als je code plaatst op het forum, niet gewoon ======
 
Willem, ik heb'm even in een bestandje gegoten voor jou
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan