Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile anfügen

Zeile anfügen
16.01.2008 10:18:20
Klaus
Hallo,
mit meinen Kenntnissen ist es nicht weit her, deshalb hoffe ich jemand von euch kann mir aus der Patsche helfen.
Ich möchte, über einen Button ausgelöst, an einer Stelle eine Zeile einfügen, z.B. Row12. Die zu kopierende Zeile ist als "Originalzeile" in Row1 abgelegt. Denn ich möchte die Möglichkeit haben immer wieder eine Zeile, nach der letzten eingefügten, hinzuzufügen. Die nächste müsste dann also an Position Row13 eingefügt werden. Beim nächsten Button-Klick Row14 usw.
Wie bekommt man das hin, dass die Ziel-Row, wo hinkopiert werden soll, eine relative Position hat?
Wenn mir jemand helfen kann... ich bin ein ziemliches Greenhorn was vba angeht. Bisher habe ich nur mit dem Macrorcorder gearbeitet.
der Klaus

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile anfügen
16.01.2008 10:29:14
Josef
Hallo Klaus,
das geht so.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
Dim lngR As Long

lngR = Application.Max(12, Cells(Rows.Count, 1).End(xlUp).Row + 1)

Rows(1).Copy Rows(lngR)
End Sub

Gruß Sepp

Anzeige
AW: Zeile anfügen
16.01.2008 11:03:00
Klaus
Hallo Sepp,
danke für deine schnelle Antwort. Leider hat es noch nicht so geklappt, wie es soll.
Es wird eine Zeile eingefügt, aber leider nur EINE. Beim wiederholten klicken wird keine weitere Zeile eingefügt.
Und die Position stimmt leider auch nicht. Verstehe auch garnicht warum. Im Code steht doch Row12. (Wenn unterhalb von Zeile12 noch weitere Zeilen mit Inhalt in der Tabelle stehen macht das doch keinen Unterschied, oder?
Ich habe mal rumprobiert nach welchen Kriterien Zeilen angefügt werden. Er tut dies unterhalb der letzten Zeile in der in der Spalte A etwas steht. Hmm...
Wie ich es brauche: Zeilen sollen mitten in die Tabelle eingefügt werden. (Wie gesagt: z.B. Row12 und anschließend +1.) Und die Spalten der Tabelle sind nur teilweise editiert. (Vor allem Spalte A hat kaum Inhalt.)
Weißt du woran es liegen könnte?
der Klaus

Anzeige
AW: Zeile anfügen
16.01.2008 11:33:59
Josef
Hallo Klaus,
das liegt genau daran, das in Spalte "A" keine Einträge vorhanden sind.
Probier's so.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
Dim rng As Range
Dim lngR As Long

Set rng = Me.UsedRange

lngR = Application.Max(12, rng.Rows(rng.Rows.Count).Row + 1)

Rows(1).Copy Rows(lngR)

Set rng = Nothing

End Sub

Gruß Sepp

Anzeige
AW: Zeile anfügen
16.01.2008 12:04:02
Klaus
Hallo Sepp,
Schon wesentlich besser, vielen Dank.
Er fügt jetzt beliebig viele Spalten ein, auch wenn Spalte A nicht editiert ist.
Leider fügt er die Zeilen weiterhin am Ende der Tabelle an und nicht mittendrin.
Mein theoretischer Ansatz für eine Lösung wäre, wenn man ihm die Zeilennummer übergeben könnte, in der der Button gerade steht. An dieser Stelle/Zeile soll die neue Zeile eingefügt werden. (Können Button- und Zell/Zeileninformationen überhaupt miteinander verknüpft werden? Die Grafik des Buttons scheint ja nur on-top auf der Tabelle zu liegen und scheint keinen Bezug zu den Zellen zu haben. Richtig?)
Könnte man überhaupt so machen? Ich sehe nämlich das Problem, wenn ich mehrere Buttons einsetzte mit verschiedenen Startwerten, z.B. Row12 +1... stimmen die Startwerte der Buttons, die weiter unten in der Tabelle stehen nicht mehr.
Desahlb wäre es super, wenn man ihm sagen könnte, er soll einfach in der Zeile des Buttons eine neue Zeile einfügen.
Wirds jetzt zu kompliziert? Sorry, das hätte ich vorher bedenken sollen. Auch wenn du das nicht lösen kannst, vllt kannst du mir sagen, ob das Problem so lösabr ist. Vllt kannst du mir auch einen anderen theoretischen Ansatz geben.
Vielen Dank in Voraus.
Gruß
Klaus

Anzeige
AW: Zeile anfügen
16.01.2008 18:37:47
Josef
Hallo
Was willst du eigentlich?
Zuerst schreibst du: "Denn ich möchte die Möglichkeit haben immer wieder eine Zeile, nach der letzten eingefügten, hinzuzufügen"
Jetzt sagst du: "Leider fügt er die Zeilen weiterhin am Ende der Tabelle an und nicht mittendrin"
Beschreib bitte genau was du erreichen willst.
Gruß Sepp

AW: Zeile anfügen
17.01.2008 10:43:40
Klaus
Hallo Sepp,
sorry, dass das in ein Missverständnis ausgeartet ist. Ich wollte gern das Prinzip kennen und dann mehrmals in einer Tabelle anwenden. Mit mehreren Buttons, die jeweils Zeilen an bestimmten Stellen einfügen und anfügen.
Man kann es sich wie die Kapitelstruktur in einem Buch vorstellen (mit einer Kapiteltiefe von 2 Ebenen).
Meine Tabelle besteht nur aus Kapiteln der höchsten Stufe:
1.
2.
3.
...
Jedes Kapitel soll einen Button besitzen, mit dem ich weitere Unterkapitel einfügen kann:
1.
1.1
1.2
1.3
2.
2.1
...
So. Ist dir klar geworden was ich erreichen möchte? Vllt verstehst du jetzt auch warum wir uns missverstanden haben. Is blöd gelaufen.
Hast vllt eine Idee für mich?
Gruß
Klaus

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige