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

omvormen van een bereik

Status
Niet open voor verdere reacties.

coolyboy2

Gebruiker
Lid geworden
23 apr 2008
Berichten
11
hey, ik heb een probleem en hoop dat jullie mij kunnen helpen nl er wordt ( zie onder) naar i gezocht in een bepaald bereik. nu zou ik willen dat als i gevonden is hij i selecteert en dit bereik dan wordt omgevormd naar een selectie die bij i begint en 15 rijen lager stopt. een selectie groter maken dacht ik dat ging door 'resize' te gebruiken, of is dat niet zo? hieronder is een probeersel maar dit klopte niet

Code:
 For Each i In Range("Blad2!2:2")
        If Range("Blad1!F4").Text = i.Text Then
       Selection = i.Text
        i.Resize(15, 0).Select

kan iemand mij helpen?
 
Laatst bewerkt door een moderator:
dat zou kunnen helpen maar het eerste probleem zit eigenlijk net iets hoger, ik zou willen dat excel 'i' selecteert maar kan dit door 'selection = i.text'? hij geeft geen foutmelding dus ik vermoed van wel. En dan wil ik 'resize' of zoals je zegt offset gebruiken maar 'i.resize' gaat niet er moet iets in de plaats van die i ik heb ook al activecell en selection geprobeerd maar dat lukt ook niet
 
Laatst bewerkt:
Code:
For Each i In Range("Blad2!2:2")
        If Range("Blad1!F4").Text = i.Text Then
       Selection = i.Text
        i.Resize(15, 0).Select

Dit zou i.i.g. moeten beginnen mt:
Code:
For each i in Sheets("Blad2").Range("2:2")
If i = Sheets("Blad1").Range("F4").text then...
 
Als ik goed heb begrepen wat je wil, geeft onderstaande macro het juiste resultaat.
Omdat je kennelijk resize wilde gebruiken heb ik dat ook maar gedaan, maar het kan ook zonder. Alle functies en dus ook resize worden in de helpfile erg goed uitgelegd !
Let bij het schrijven van een macro ook goed op in welk werkblad je bezig bent.
Ik weet niet wat de reden is dat je een bepaald bereik wil selecteren, maar als het is om het te kopiëren bv, dan is selecteren helemaal niet nodig.
Je doorloopt een hele rij, is dat wel nodig? Als je van een rij slechts een bepaald bereik gebruikt, doorloop dan niet Range("2:2"), maar bv. Range("A2:M2") .
Bedenk ook dat, als er in rij 2 op blad2 meerdere cellen overeenkomen met F4, alleen in de laatste overeenstemmende kolom de rijen 2 t/m 17 worden geselecteerd.

Code:
Sub macro1()
Dim i As Range
With Worksheets("Blad2")
For Each i In .Range("2:2")
If i.Value = Worksheets("Blad1").Range("F4").Value Then
.Activate
i.Select
Selection.Resize(16).Select
End If
Next i
End With
End Sub
 
Laatst bewerkt:
oke, heel fel bedankt! het is gelukt! Echt, bedankt voor de goed uitleg

grtjs

coolyboy2
 
Zet de vraag nog even op "Opgelost" aub (rechts-onderaan).
 
oei, sorry. ik wist niet dat dat moest en hoe dat moest. Maar nu weet ik het vor een volgende keer. Nogmaals bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan