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

Kolomen kopieeren met butons

Status
Niet open voor verdere reacties.

HBot

Gebruiker
Lid geworden
12 dec 2006
Berichten
325
Geachte,

Onderstaande macro werkt perfect, hij kijkt naar het aantal op blad 1(voorblad cel b14 en kopieert op blad 2(PM1) kolom 6 x gevraagde aantal.
Nu wil ik deze gebruiken voor een ander document waarin in de kolom een button staat, deze wordt alleen op de eerst volgende kolom geplaatst maar niet op de daarop op volgende kolomen hoe kan ik dit eenvoudig oplossen?

Sub VenA()
Sheets("PM1").Visible = True
Sheets("PM1").Select
ActiveSheet.Unprotect
Sheets("voorblad").Select
If IsNumeric([B14]) And [B14] > 1 Then Blad2.Columns(6).Copy Blad2.Columns(7).Resize(, [B14] - 1)
Sheets("voorblad").Select
Columns("E:F").Select
Selection.EntireColumn.Hidden = True
Columns("g").Select
Selection.EntireColumn.Hidden = False
Sheets("PM1").Visible = True
Sheets("PM1").Select
Range("f6").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True, AllowInsertingColumns:=True
end sub

BVD
Botje
 
Kun je er niet veel beter een bestandje bij doen? En maak je code nog even op met de CODE tag; wordt die ook weer eens gebruikt :).
 
hallo Octafish

Het bestandje bijvoegen is lastig wegens teveel gevoelige informatie. zal even kijken of het lukt een voorbeeld te maken.
Ik snap niet wat je bedoeld met opmaak in CODE tag, ben nog maar een leek in deze :)
heb de macro gekopieerd.

Gr
 
Je hebt wel een heel karig documentje meegestuurd; volgens mij staat daar niet zo heel veel data in. Hoe kan je dan zien of de code het goed doet?
De CODE tags plaats je met de CODE knop ( #) om je code.
Code:
Sub VenA()
    With Sheets("PM1")
        .Visible = True
        .Unprotect
    End With
    Sheets("voorblad").Select
    If IsNumeric([B14]) And [B14] > 1 Then Blad2.Columns(6).Copy Blad2.Columns(7).Resize(, [B14] - 1)
    With Sheets("voorblad")
        .Select
        .Columns("E:F").EntireColumn.Hidden = True
        .Columns("G").EntireColumn.Hidden = False
    End With
    With Sheets("PM1")
        .Visible = True
        .Protect
    End With
End Sub
En zeg nou zelf: ziet er gelijk een stuk beter uit :). Overigens zou je dat na 12 jaar HelpMij wel hebben kunnen weten :).
 
Hallo OctaFish

Bedankt voor de tip, hopelijk kan ik deze de komende 12 jaar onthouden :d
Voor het oplossen van het probleem is meer info ook niet nodig, kolom 6 moet een aantal keren worden gekopieerd incl button. nu wordt de button allen in kolom 7 erbij gezet en niet in de overige.
Mogelijke optie zou kunnen zijn dat ik de kolommen vooraf aanmaak en verberg, en deze (aantal aangegeven ) worden "unhide" ? voor gebruik.
Gr
Botje
 
Zet dit er eens in.
Code:
 for i = 1 to [b14]
      If IsNumeric([b14]) And [b14] > 1 Then Blad2.Columns(6).Copy Blad2.Columns(6 + i)
    next i
 
HSV,

Helemaal top, kan ik weer een stapje verder

Bedankt
 
De volgorde in het stukje zal even anders moeten zie ik nu pas.
bv.

Code:
If IsNumeric([b14]) And [b14] > 1 then 
for i = 1 to [b14]
   Blad2.Columns(6).Copy Blad2.Columns(6 + i)
    next i
end if
 
Mij lijkt dit voldoende:

Code:
Sub M_snb()
    With Sheets("voorblad")
        If .Cells(14, 2) > 1 Then Blad2.Columns(6).Copy Blad2.Columns(7).Resize(, .Cells(14, 2) - 1)
       .Columns("E:F").Hidden = True
       .Columns(7).Hidden = False
    End With
End Sub
 
@snb, als je het openingsbericht leest dan is het dat voor de vragensteller niet.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan