VarioAusfuellen Type:=xlFillDefault

22/01/2008 - 17:32 von Robert Jakob | Report spam
Hallo,

bin auf der Suche nach dem unbekannten Code für die
folgende Problemstellung.

Sub VarioAusfuellen()
Dim Fuellung

Range("D5").Formula = "P001"
Fuellung = Range("D5")

'Range("D5").AutoFill Destination:=Range("D5:D10"), Type:=xlFillDefault
Fuellung.AutoFill Destination:=Range("D5:D10"), Type:=xlFillDefault
End Sub

So oder àhnlich, zumindest vom Ergebnis her, sollte mein Code aussehen.

Hintergrund:
Ich möchte "P001" ausfüllen und in die nàchste Zeile "P002" schreiben.
Wenn die nàchste Zeile direkt darunter ist, dann ist das ein Klacks
weil dann mein Code, den ich mit Hochkomma inaktiviert habe ja laufen
könnte.

Die Nàchste Zeile wo "P002" hingeschrieben werden soll ist aber einige
noch unbekannte Zeilen darunter anzutreffen. Somit möchte ich wenn
das überhaupt möglich ist, unter Zuhilfenahme einer Variablen zunàchst
die Bezeichnung "P001" in der Variablen festhalten und dann daraus "P002"
machen und spàter dort hinschreiben wo "P002" dann hin soll.

Eigentlich soll "P001" ganz normal ausgefüllt werden bis, sagen wir in
der Nachbarspalte "C" der Wert 99 steht.
Es wàre kein Problem eine Zeile zu überspringen und dann den Wert aus der
vorhergehenden Zeile zu nehmen, wenn es aber mehrere Zeilen mit dem Wert 99
in der Spalte "C" gibt, dann sollen die alle übersprungen werden.
und erst dann das Ergebnis von Autofill in die betreffende Zeile der Spalte
"D" geschrieben werden.

Wer kennt sich aus und kann mir einen Tipp geben ?

MfG
Robert
 

Lesen sie die antworten

#1 Peter Schleif
22/01/2008 - 19:03 | Warnen spam
On 22 Jan., 17:32, Robert Jakob wrote:

Ich möchte "P001" ausfüllen und in die nàchste Zeile "P002" schreiben.



Ich glaube nicht, dass Du das mit AutoFill hinbekommst. Wie wàre es
mit einer Schleife, die den Inhalt vom Spalte C prüft, dann
gegebenenfalls in die nachbarzelle ein 'P001' reinschreibt und
anschließend die Füllung aus 'P002' erhöht. Allerdings habe ich dein
Kriterium '99' nicht verstanden.

Der Code unten füllt alle Zellen in Spalte D aus die in der gleichen
Zeile in Spalte C eine 99 stehen haben.

Peter

Sub VarioAusfuellen()

Fuellung = 1

For zeile = 1 To 100
If Cells(zeile, "C") = 99 Then
Cells(zeile, "D") = "P" & Format(Fuellung, "000")
Fuellung = Fuellung + 1
End If
Next

End Sub

Ähnliche fragen