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

macro range een laten verhogen

  • Onderwerp starter Onderwerp starter ninc
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ninc

Gebruiker
Lid geworden
20 sep 2006
Berichten
65
Ik heb de volgende macro. Het is de bedoeling dat een range gekopieerd wordt, getransponeerd in een andere range en that's it. Maar nu wil ik dat ik niet iedere range die ik wil handmatig hoef in te voeren. Anders moet ik de range B20:B23 invoeren, dan weer de range B23:B26 etc. Kan ik iets invoeren zodat steeds range +3 cellen omlaag wordt gepakt? Ook voor cel F17 geld dit, dus dat moet bij de volgende selectie F18 worden daarna F19 etc. Ook moet deze macro weer kunnen stoppen dan.

Bedankt.

Code:
Range("B17:B20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F17").Select
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
        , Transpose:=True
        
        Range("B20:B23").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F18").Select
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
        , Transpose:=True

 Range("B23:B26").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("F19").Select
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
        , Transpose:=True
        
        
End Sub
 
Dit doet hetzelfde als jouw voorbeeld

Code:
Sub Transponeren()
Dim x As Integer
Dim y As Integer
y = 17
For x = 17 To 29 Step 3
Range("B" & x & ": B" & x + 3).Copy
Range("F" & y).PasteSpecial Paste:=xlAll, Transpose:=True
y = y + 1
Next x
   
End Sub

Je zult alleen het getal 29 naar behoefte aan moeten passen.

Mvg

Piet
 
Bedankt! De macro werkt.
Dit is het geworden.

Sub Transponeren()
Dim x As Integer
Dim y As Integer
y = 17
For x = 17 To 46 Step 8
Range("B" & x & ": B" & x + 6).Copy
Range("F" & y).PasteSpecial Paste:=xlAll, Transpose:=True
y = y + 1
Next x

End Sub

Kan ik het de macro allemaal lekker laten doen:)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan