Thema Datum  Von Nutzer Rating
Antwort
Rot jede 10. Zelle markieren
03.08.2015 15:30:27 Max
NotSolved
04.08.2015 09:38:08 XYZ
NotSolved
04.08.2015 16:09:37 Max
NotSolved

Ansicht des Beitrags:
Von:
Max
Datum:
03.08.2015 15:30:27
Views:
1259
Rating: Antwort:
  Ja
Thema:
jede 10. Zelle markieren

Hallo!

Ich habe das f0olgende Problem bei dem Erstellen eines Makros in Excel. Der Sinn des Makrs ist es in einer ausgewählten Spalte ab einer bestimmten vorgegebenen Zelle jede 10. zu markieren. also z.B. 2, 12, 22, 32, 42, 52... .

Hierfür markiere ich zuerst einen Bereich ab der zahl mit der die Zählung anfangen soll (hier die 2, also wird z.B. die Spalte U folgendermaßen markiert:   Range("U2:U1000").Select   ). Somit wird nun in dem Bereich gearbeitet, der groß genug ist um meine Wertetabelle nach unten abzudecken.

 

Nun zum Problem:

Der Code funktioniert bis zu:      Range("U2:U1000").Select     einwandfrei. Ab Range("U11:U1000").Select und höher klappt es nicht mehr.

Kann einer von euch einen Fehler finden? Vielen Dank für die Hilfe!

Hier der Code:

Festlegen des Bereiches. Festlegen des Anfangs (BSP.: Anfang bei U2, Ende bei U1000 -> U3:U1000)
    Range("U11:U1000").Select


    ' Initialize ColsSelection equal to the number of columns in the
    ' selection.
    ColsSelection = Selection.Columns.Count
    ' Initialize RowsSelection equal to the number of rows in your
    ' selection.
    RowsSelection = Selection.Rows.Count
    ' Initialize RowsBetween equal to three.
    RowsBetween = 10
    
    ' Initialize Diff equal to one row less than the first row number of
    ' the selection.-
    Diff = Selection.Row - 1
    ' Resize the selection to be 1 column wide and the same number of
    ' rows long as the initial selection.
    Selection.Resize(RowsSelection, 1).Select
    ' Resize the selection to be every third row and the same number of
    ' columns wide as the original selection.
    Set FinalRange = Selection. _
       Offset(RowsBetween - 11, 0).Resize(1, ColsSelection)
    ' Loop through each cell in the selection.
    For Each xCell In Selection
        ' If the row number is a multiple of 10, then . . .
        If xCell.Row Mod RowsBetween = Diff Then
            ' ...reset FinalRange to include the union of the current
            ' FinalRange and the same number of columns.
            Set FinalRange = Application.Union _
                (FinalRange, xCell.Resize(1, ColsSelection))
        ' End check.
        End If
    ' Iterate loop.
    Next xCell
    ' Select the requested cells in the range.
    FinalRange.Select

Selection.copy
 

 

Gruß

Max


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot jede 10. Zelle markieren
03.08.2015 15:30:27 Max
NotSolved
04.08.2015 09:38:08 XYZ
NotSolved
04.08.2015 16:09:37 Max
NotSolved