Frage : Wie kann ich eine Strecke der Zellen in einem Arbeitsblatt zu einem anderen Bereich im gleichen Arbeitsblatt kopieren, das weg vom Wert einer Zelle in Excel 2007 gegründet wird?

Hallo,

I gründete Notwendigkeit, in der Lage zu sein, eine Strecke der Zellen in einem übertreffenarbeitsbuch zu einem anderen Bereich im gleichen Arbeitsbuch programatically zu kopieren weg von den Werten des Anfangs und von den Enddaten im Arbeitsblatt.  Das Arbeitsblatt, das ich angebracht habe, zeigt Beispieldaten.  So wenn ich das AuswahlAnfangsdatum eines Einzelteils ändern musste, muss ich übertreffen, um alle Werte in den Monatsspalten aufzuheben und ihn entsprechend dem neuen AuswahlAnfangsdatum zu verschieben.  Auch wenn das VerfallEnddatum ändert, benötige ich es, dementsprechend zu justieren.  Ist dieses mögliches verwendenvba?

Antwort : Wie kann ich eine Strecke der Zellen in einem Arbeitsblatt zu einem anderen Bereich im gleichen Arbeitsblatt kopieren, das weg vom Wert einer Zelle in Excel 2007 gegründet wird?

daintysally,

Der folgende Code ist in der angebrachten Akte.

Hoffnung tut er, was Sie wünschen.

Patrick
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
Vorspecialmacro ()
Schwaches WS als Arbeitsblatt
Schwaches rng1 als Strecke
Schwaches celle1 als Strecke
Schwaches rng2 als Strecke
Schwaches celle2 als Strecke
Schwaches pickstart als Datum
Schwacher Verfall als Datum
Schwaches pickweek als lang
Schwaches rng_step als lang
Schwaches step_counter als lang

Einstellen WS = Blätter („Beispiel-vor“)

Einstellen rng1 = WS. Strecke (WS. Zellen (2, „A“), WS. Zellen (WS. Rows.Count, „A“). Ende (xlUp))
pickweek = 3

step_counter = 0
Für rng_step = 0 bis 26 Schritt 13
    Für jedes celle1 in rng1
        pickstart = celle1.Offset (0, 3)
        Verfall = celle1.Offset (0, 4)
        Einstellen rng2 = Strecke (WS. Zellen (celle1.Row, „F“), WS. Zellen (celle1.Row, „Q“)). Versatz (0, rng_step)
        rng2 (1, 12). Versatz (0, 1).FormulaR1C1 = „=SUM (RC [- 12]: RC [- 1])“
        rng2.ClearContents
        Für jedes celle2 in rng2
            Wenn WS. Zellen (1, celle2.Column) >= pickstart _
                Und WS. Zellen (1, celle2.Column)  <>
           
Weitere Lösungen  
 
programming4us programming4us