Bestimmte Anzahl Zeilen einfuegen

08/07/2010 - 22:31 von Volker Neurath | Report spam
Hallo zusammen,

ich bastle mal wieder an meinem kleinen Problem.

Ich muss in ein Excel-Sheet (welches ein Antragsformular darstellt)
Artikel einfügen.
Folgende Probleme gibt es dabei:

1. Der Einfügebereich befindet sich mitten im Sheet. Erste freie Zelle ist
B26 ab (IIRC) B38 folgen wieder Zeilen, in denen in anderen Spalten Text
steht.
Der Einfügebereich kann aber nach Bedarf vergrößert werden, d.h. es
dürfen beliebig viele Zeilen eingefügt werden.

2. Die Produktzeilen müssen sauber sortiert nach Geràten
und Zubehör eingefügt werden
in den Bereich ab Zelle B26 kommen die Geràte, darunter das Zubehör.
Problem dabei:
In A26 und darunter sind die Bezeichnungen "Main Units"
Und "Lamps and Lensens" als Bereichskenner - dies muss beachtet werden

Das muss soll in etwa so aussehen


| Main Units |Art.Nr Geràt|DistriPreis|Hàndlerpreis|Endkundenpreis
| |Art.Nr Geràt|DistriPreis|Hàndlerpreis|Endkundenpreis
| |Art.Nr Geràt|DistriPreis|Hàndlerpreis|Endkundenpreis
+++--++--
| Lenses and |Art.Nr Zubeh|DistriPreis|Hàndlerpreis|Endkundenpreis
| Options |Art.Nr Zubeh|DistriPreis|Hàndlerpreis|Endkundenpreis
| |Art.Nr Zubeh|DistriPreis|Hàndlerpreis|Endkundenpreis
+++--++--

Das Ganze muss unabhàngig davon funktionieren, wieviele Produkte insgesamt
angefragt werden.
Zubehör und Geràte können Anhand der Artikelnummer eindeutig unterschieden
werden:

Geràte-Artikelnummern beginnen immer mit V11H
Zubehör (Options) beginnen immer mit V12H
Ersatzteile beginnen immer mit V13H

Wie bekomme ich das hin?
Die Sortierung der Daten auf dem Ausgangssheet habe ich schon hinbekommen.
Aber wie füge ich die sortierten Daten jetzt passend ein?
Kopfzerbrechen bereiten mir hier ganz speziell zwei Dinge:

1. wie füge ich immer die passende Anzahl Zeilen ein?
2 wie erreiche ich, dass diese Zuordnung:

| Main Units |Art.Nr Geràt|
| |Art.Nr Geràt|
| |Art.Nr Geràt|
+++
| Lenses and |Art.Nr Zubeh|
| Options |Art.Nr Zubeh|
| |Art.Nr Zubeh|
+++

immer passt. Es darf sich nàmlich niemals ein Geràtin den Bereich
"Lenses and Options" verirren und umgekehrt.

Any Ideas? (Andreas ;)

Volker
Im übrigen bin ich der Meinung, dass TCPA/TCG verhindert werden muss

Wenn es vom Himmel Zitronen regnet, dann lerne, wie man Limonade macht
 

Lesen sie die antworten

#1 Andreas Killer
10/07/2010 - 07:54 | Warnen spam
Am 08.07.2010 22:31, schrieb Volker Neurath:

Wie bekomme ich das hin?
Die Sortierung der Daten auf dem Ausgangssheet habe ich schon hinbekommen.
Aber wie füge ich die sortierten Daten jetzt passend ein?
Kopfzerbrechen bereiten mir hier ganz speziell zwei Dinge:

1. wie füge ich immer die passende Anzahl Zeilen ein?
2 wie erreiche ich, dass diese Zuordnung:


Hmm, ich dachte ich hàtte das schon ausreichend beantwortet...

Vielleicht ist ein praktisches Beispiel besser.

Das Makro geht davon aus das die zu kopierenden Daten in Tabelle1 ab
A26 bis E.. stehen und darunter nix ist.

In Tabelle2 werden die Daten ab B26 bis F.. eingefügt und ich gehe
davon aus das Zeile B27 (mind. F27) beim ersten Kopieren leer ist.

Eine Frage ist noch was mit den Zeilen zwischen letztem Datensatz und
dem Text in B38 passieren soll...?

Mind. eine leere Zeile muss erhalten bleiben, den Rest könnte man
löschen, aber nach welchen Kriterien?

Andreas.

Sub KopiereDaten()
Dim R As Range
With Sheets(1)
'Letzten Preis holen
Set R = .Range("E" & Rows.Count).End(xlUp)
'Datenfeld ab ersten Artikel bis letzter Preis
Set R = .Range(.Range("A26"), R)
'Datenfeld kopieren
R.Copy
End With

With Sheets(2)
'ab B26 einfügen
.Range("B26").Insert Shift:=xlDown

'Letzten Preis von oben suchen
Set R = .Range("F26").End(xlDown)
'Datenfeld ab ersten Artikel bis letzter Preis
Set R = .Range(Range("B26"), R)
'Sortieren nach Artikelnummer
R.Sort Key1:=Range("C26"), Order1:=xlAscending, Header:=xlNo
End With
End Sub

Ähnliche fragen