UsedRange - aber wie ??

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: UsedRange - aber wie ??
von: Klaus
Geschrieben am: 18.04.2005 13:23:00
Hallo Excel-Freunde,
eine wahrscheinlich simple Frage:
Der zu kopierenden Bereich (ganze Zeilen) beginnt mit Zeile 4 und endet aber eben nicht bei Zeile 19 sondern irgendwo. Nach dem was ich in der Hilfe gefunden habe müsste das mit UsedRange gehen, Frage nun: wie lauter die Syntax dazu die benutzten Zeilen ab Zeile 4 zu markieren und dann zu kopieren.
Frage 2 dazu diesen Wert (Anzahl der Zeilen) außerdem in eine Varibale "Zahl" zu übergeben um sie in eine Meldung einzufügen.
Rows("4:19").Select
Selection.Copy
Für Eure Hilfe schonmal vielen Dank
Klaus

Bild

Betrifft: AW: UsedRange - aber wie ??
von: hans
Geschrieben am: 18.04.2005 13:36:18
hallo!
versuchs mit folgendem sub

Sub Bereich()
    Dim Wks As Worksheet
    Dim Bereich As Range
    Dim AnzZeilen As Long
    
    Set Wks = ThisWorkbook.Worksheets(1)
       
    Set Bereich = Wks.UsedRange
    AnzZeilen = Bereich.Rows.Count
    MsgBox AnzZeilen
    Bereich.Copy (Worksheets(2).Range("a1"))
End Sub

Bild

Betrifft: AW: UsedRange - aber wie ??
von: Klaus
Geschrieben am: 18.04.2005 13:54:44
Hallo Hans,
danke das klappt schon fast perfekt. Die Zeile 1- 3 sollen aber nicht mit kopiert werden - geht das auch ?
Gruß
Klaus
Bild

Betrifft: AW: UsedRange - aber wie ??
von: hans
Geschrieben am: 18.04.2005 14:01:18
hallo klaus,
jetzt passts

Sub Bereich()
    Dim Wks As Worksheet
    Dim Bereich As Range
    Dim AnzZeilen As Long
    
    Set Wks = ThisWorkbook.Worksheets(1)
       
    Set Bereich = Wks.UsedRange
    Set Bereich = Bereich.Offset(3)
    Set Bereich = Bereich.Resize(Bereich.Rows.Count - 3)
    AnzZeilen = Bereich.Rows.Count
    MsgBox AnzZeilen
    Bereich.Copy (Worksheets(2).Range("a1"))
End Sub

Bild

Betrifft: Danke - perfekt (owT)
von: Klaus
Geschrieben am: 18.04.2005 14:07:04
.
Bild

Betrifft: oder so:
von: ingoG
Geschrieben am: 18.04.2005 14:17:47
Hallo zusammen,
folgendes macro funzt bei mir auch wenn die erste zeile im originalblatt nicht gefüllt ist...
gruß Ingo

Sub aaaa()
Dim maxzeile%
maxzeile = Worksheets(1).UsedRange.Row + Worksheets(1).UsedRange.Rows.Count - 1
If maxzeile > 3 Then Worksheets(1).Range("4:" & maxzeile).Copy (Worksheets(2).Range("a1"))
End Sub

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Flächen ausfüllen, die durch Punkte begrenzt sind"