Forums Neueste Beiträge
 

Zeile per VBA einfügen

04/03/2010 - 15:16 von Michael Karajan | Report spam
Hallo NG!

Ich habe in Foren irgendwie für mein Problem nicht das richtige gefunden.
Vielleicht habe ich auch nicht das richtige zum suchen eingegeben.

Ich habe eine Tabellemit ca. 2000 Zeilen (Excel 2003).

Ich habe ein Userform erstellt und stehe nun vor dem Problem, dass ich die
Daten iaus dem Userforum in Tabelle übertrage. Nicht irgendwo sondern an
einem speziellen Platz. Jetzt kommt der Haken, für die ich keine Lösung fand.

Unterhalb der Tabelle mit Datenzeilen sind Zeilen, die nicht veràndert
werden dürfen. Ich muß schaffen (per VBA),

* die letzte Zeile mit den Daten finden
* Eine Zeile zwischen denen die nicht veràndert werden dürfen eine Zeile
Einfügen (Es sind 3 Zeilen zwischen Daten und den Zeilen die nicht veràndert
werden dürfen)
*und in diese Zeile dann die Eingaben aus dem UserForm eintragen.

Für Eure Ratschlàge bin ich wie immer sehr dankbar (schon im Voraus!)

Gruß
Michael
 

Lesen sie die antworten

#1 Andreas Killer
04/03/2010 - 16:08 | Warnen spam
Michael Karajan schrieb:

Unterhalb der Tabelle mit Datenzeilen sind Zeilen, die nicht veràndert
werden dürfen. Ich muß schaffen (per VBA),


Hmm, klingt ein wenig kurios, wie willst Du Zeilen einfügen zwischen
Zeilen die nicht veràndert werden dürfen???

* die letzte Zeile mit den Daten finden


Eigentlich sucht man ja von unten, aber in Deinem Fall ist es
vielleicht einfacher von oben zu suchen, was aber voraussetzt das
keine Lücken zwischen den Daten und mind. 2 Zeilen vorhanden sind.

dim R as Range
set R = Range("A1").End(xlDown)

R ist nun die letzte "Daten-"Zelle in Spalte. Man kann auch von unten
suchen:

dim R as Range
'Letzte Zelle in Spalte A
set R = Range("A" & Rows.Count).End(xlUp)
'Erste Zeile der 3 nicht ànderbaren Zeilen
set R = R.End(xlUp)
'Letzte "Daten-"Zelle
set R = R.End(xlUp)

Setzt aber voraus das die Daten immer in der Form bleiben wie Du sie
beschrieben hast.

* Eine Zeile zwischen denen die nicht veràndert werden dürfen eine Zeile
Einfügen (Es sind 3 Zeilen zwischen Daten und den Zeilen die nicht veràndert
werden dürfen)


Also egal wie Du es machst, nach obigen Beispiel ist R nun auf der
letzten Daten-Zelle. Davon ausgehend:

'Eins weiter runter, die Zeile ist leer
set R = R.Offset(1, 0)
'Zeile einfügen, R wird auch eins weitergesetzt
R.Insert Shift:=xlDown
'Wieder eins zurück um am Datenende zu bleiben
Set R = R.Offset(-1, 0)

*und in diese Zeile dann die Eingaben aus dem UserForm eintragen.


Könnte man dann z.B. so machen:

Cells(R.Row,1) = TextBox1.Value
'oder
Range("A" & R.Row) = TextBox1.Value

usw.

Andreas.

Ähnliche fragen