• 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 (VBA) celbereik kopieren

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

Abyss

Gebruiker
Lid geworden
28 jul 2005
Berichten
353
Hallo Helpers,

Ik wil een macro maken die een rage kan kopieeren.
Op zich ben ik een aardig eind gekomen.
Code:
[I][COLOR="DeepSkyBlue"]
    Columns("C:F").Select
    Selection.EntireColumn.Hidden = False
    Columns("D:E").Select
    Selection.Delete Shift:=xlToLeft
    Columns("P:AB").Select
    Selection.EntireColumn.Hidden = False
    Range("A3:AC268").Select 'hier selecteer ik de range, maar die is ook wel een groter Ik wil alleen geen lege records
    Selection.Copy

    Rng = Selection.Rows.Count
    ActiveCell.Offset(0, 0).Select
    Application.ScreenUpdating = False
    For i = 1 To Rng
    If ActiveCell.Value = "" Then    'hier verwijder ik lege records maar dan wordt het huidige bereik niet gekopieerd.
    Selection.EntireRow.Delete
    Else
    ActiveCell.Offset(1, 0).Select
    End If
    Next i
    Application.ScreenUpdating = True
    End Sub[/COLOR][/I]

Als eind resultaat wil ik dus alleen het bereik kopieren waar ook daadwerkelijk iets staat.

iemand een goede aanvulling of een totaal nieuw idee

Abyss
 
Laatst bewerkt:
Hoewel je de vraag wel goed hebt omschreven en ook de code hebt toegevoegd (zet daar de volgende keer trouwens even de tag CODE # omheen) wil ik je toch vragen om een voorbeeldbestandje te plaatsen. Ik denk dat je dan sneller een antwoord hebt.

:D
 
De kolom D en E zijn verborgen maar moeten verwijderd worden.
De Kolommen Q t/m AA zijn verborgen en moeten zichtbaar worden.
Alle lege regels moeten verwijderd worden behalve als er iets in de regel staat.
In dit geval regel 10, deze regel zou dus moeten blijven.
Vervolgens moet het overgebleven regels gekopieerd worden.
*
In dit geval is dat A1 t/m Z13,
Maar als er meer regels zijn, betekend dit dat ook het bereik anders is. Dan moet de macro het huidige celbereik kopieren


Zie bijlage voor meer info
*
 

Bijlagen

Probeer deze eens. Kopieëren gebeurt nu naar blad2 als voorbeeld

Mvg

Rudi
 

Bijlagen

Ziet er goed uit alleen wil ik graag dat de selectie in het klembord blijft staan.
Aangezien ik het naar een Access database wil kopieeren.

En eigenlijk zou de marco voor elk actief sheet moeten werken.

ABYSS
 
Laatst bewerkt:
Wijzig deze regel
Code:
With Sheets("Blad1")
in
Code:
With ActiveSheet
dan geldt hij voor elk blad
Wat betreft je eerste vraag snap ik je bedoeling niet goed. Wil je al die stukken van elk blad kopieëren naar een tabel in access. Waarom dan niet alles verzamelen op 1 blad en daarna deze nieuwe tabel importeren in excel ?

Mvg

Rudi
 
Wijzig deze regel
Code:
With Sheets("Blad1")
in
Code:
With ActiveSheet
dan geldt hij voor elk blad
Wat betreft je eerste vraag snap ik je bedoeling niet goed. Wil je al die stukken van elk blad kopieëren naar een tabel in access. Waarom dan niet alles verzamelen op 1 blad en daarna deze nieuwe tabel importeren in excel ?

Mvg

Rudi

Je bedoeld misschien importeren in Access??
 
Inderdaad:o Dus alles verzamelen in 1 nieuwe tabel in Excel en daarna deze tabel importeren in Access, natuurlijk afhankelijk van wat je bedoeling is

Mvg

Rudi
 
Inderdaad:o Dus alles verzamelen in 1 nieuwe tabel in Excel en daarna deze tabel importeren in Access, natuurlijk afhankelijk van wat je bedoeling is

Mvg

Rudi


Ja dat klopt de gegevens moet uiteindelijk toegevoegd worden aan een bestaande tabel in Access.
Maar aangezien Access dan gaat zeuren over , dat de kolom koppen niet overeen komen met de bestaande Access tabel. Doe ik het kopieren en plakken met de hand.
Het zou inderdaad mooier zijn als dit volledig geautomatiseerd word.
Maar goed ik ben hier ook al blij mee:D


ABYSS
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan