Selecteren variabel bereik excel

Status
Niet open voor verdere reacties.

Miraculous

Gebruiker
Lid geworden
12 okt 2009
Berichten
10
Hallo Allemaal,

Ik heb al een aantal pogingen gedaan om een variabel gebied te selecteren.
Ik heb op een excelblad 1500 regels staan. Ik voer een start nummer in en een eindnummer of het aantal nummers wat ik wil hebben.

Nu wil ik B11 tm laatste zichtbare query regel in B;B selecteren en kopiëren.
Ik krijg het wel voor elkaar om de hele rij te selecteren tm laatste formule maar ik wil alleen de formules selecteren met resultaat.

In het voorbeeld moet B11;B16 gekopieerd worden.
Wie kan me hierbij helpen.

Alvast hartelijk dank
Tom

Bekijk bijlage Map1.xlsm
 
Laat deze code in een standaardmodule lopen en kijk eens op blad2.

Code:
Sub hsv()
With Sheets("Blad1").Range("B10", Cells(Rows.Count, 2).End(xlUp).Address)
  .AutoFilter 1, "<>", , , 0
Sheets("Blad1").AutoFilter.Range.Offset(1).SpecialCells(12).Copy Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1)
  .AutoFilter
 End With
End Sub
 
Hartelijk dank HSV,

Het gaat nog niet helemaal goed. In eerste instantie werd er 1 lege cel mee gekopieerd.
Nadat ik het in mijn eigen sheet stopte merkte ik dat het nog niet zo makkelijk is om de kolom te wijzigen in G11.
In mijn eigen sheet staat de query op G11.

Helaas ik snap er nog niet veel van. Ik heb een qoutes geplaats om te zien hoe de selectie er uit ziet.
Zou je nog eens willen kijken en zien of je het ook op kolom G kunt uitvoeren en de lege cel kunt verwijderen?

Alvast hartelijk dank.
Tom

Code:
Sub hsv()
With Sheets("Blad1").Range("B10", Cells(Rows.Count, 2).End(xlUp).Address)
  .AutoFilter 1, "<>", , , 0
Sheets("Blad1").AutoFilter.Range.Offset(1).SpecialCells(12).Copy 'Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1)
'  .AutoFilter
 End With
End Sub
 
Geen probleem.
 

Bijlagen

Perfect Harrie,

Ik vind het nog wel vreemd dat hij het blokje tekst selecteert en daaronder nog een lege cel.
Ook kopieert hij niet naar A1 op blad2 maar naar A2. Maar de test naar de database werkt wel perfect en dat is wat ik wilde.

Excel copy.jpg

Ik ga het stukje code nog wel ontleden.

Mijn hartelijk dank voor je hulp.

Groetjes Tom
 
Laatst bewerkt:
Tom,

Het komt door de:
Code:
Sheets("Blad1").AutoFilter.Range.[COLOR=#FF0000]Offset(1).[/COLOR]SpecialCells(12).Copy
Maar het is een lege cel, dus maakt niet uit.

Als je beginnen wilt in A1, en daarna doorlopend onder elkaar, verander de code in.
Code:
Sub hsv()
Dim Lrow As Long
With Sheets("Blad1")
With .Range("G10", .Cells(Rows.Count, 7).End(xlUp).Address)
  If Sheets("Blad1").Range("G11") > 0 Then
     .AutoFilter 1, "<>", , , 0
    Lrow = IIf(Sheets("Blad2").Range("A1") = "", 1, Sheets("Blad2").Cells(Rows.Count, 1).End(xlUp).Offset(1).Row)
Sheets("Blad1").AutoFilter.Range.Offset(1).SpecialCells(12).Copy Sheets("Blad2").Cells(Lrow, 1)
     .AutoFilter
  End If
  End With
 End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan