Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro erweitern

Makro erweitern
20.01.2004 12:14:18
maze
Hallo Excel Spezialisten,
brauche bitte mal Euere Hilfe.
Wo muß das folgende Makro umgebaut werden?
Aufgabe des Makro war, bestimmte Zeilen aus Sheet "TB2" in sheet "Angebot" ab der Zeile b21 einzufügen. Durch das Einfügen rutschen die Zeileninhalte nach Zeile b21 natürlich um die eingefügten Zeilen nach unten. Das war beabsichtigt.
Besser wäre in Spalte A eine Markierung zu machen, z.B. ein "X" und das Makro fügt ab der Zeile die Datensätze ein, anstatt nur ab b21. Es soll sozusagen den Einfügepunkt in Spalte A suchen und dann eine Spalte daneben die die Daten einfügen.
Kriege es selber nicht hin...
Gruß
Matthias

Sub SätzeAufAnderesTabellenblattÜbertragen2()
Dim Blatt1 As Worksheet
Dim Blatt2 As Worksheet
Dim i As Integer
Dim iAnz As Integer
Dim a As String
Set Blatt1 = Worksheets("TB2")
Set Blatt2 = Worksheets("Angebot")
Application.ScreenUpdating = False
Sheets("TB2").Activate
iAnz = 0
For i = 1 To Blatt1.UsedRange.Count
If Blatt1.Cells(i, 1) <> "" Then
Blatt2.Rows(21).Insert shift:=xlDown
Range(Cells(i, 1), Cells(i, 5)).Copy Destination:=Blatt2.Range("b21")
iAnz = iAnz + 1
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Es wurden " & iAnz & " Sätze übertragen"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro erweitern
20.01.2004 12:38:23
xXx
Hallo Matthias,
ansonsten ist Spalte A leer?
Dim iRow as integer
iRow=Blatt2.Range(A1").end(xldown).row
.
.
Blatt2.Rows(iRow).insert shift:=xldown
Range(Cells(i,1),Cells(i,5).copy destination:=Blatt2.cells(iRow,2)
Ich hoffe, das hilft dir weiter.
Gruß aus'm Pott
Udo
http://www.excelerator.de

P.S. Das Forum lebt auch von den Rückmeldungen an die Antworter!
kriege es nicht hin......
20.01.2004 13:47:41
Maze
Hi Udo,
danke für die Antwort.
Es funktioniert leider nicht. Kannst Du dich noch mal bitte melden.
Es ist sehr wichtig für mich.
Gruß aus'm Norden
Matthias
Anzeige
AW: kriege es nicht hin......
20.01.2004 14:53:09
xXx
Hallo,
Was kriegst du nicht hin?
Gruß aus'm Pott
Udo
http://www.excelerator.de
P.S. Das Forum lebt auch von den Rückmeldungen an die Antworter!
Es will nicht so wie ich es will
20.01.2004 15:39:13
maze
Hi Udo,
trotz Deiner Hilfe arbeitet das Makro leider nicht.
Bevor von TB2 die Daten kopiert werden, muß es im sheet "Angebot" in Spalte A nach einem X suchen und die kopierten Zeilen neben dem X sozusagen ab der Spalte B einfügen. Ich will die Einfügeanweisung nicht mehr fest im Makro gebunden haben(B21)wie es bisher war.
Wenn es bei Dir läuft und ich etwas falsch gemacht habe, dann sach an.
Gruß
Matthias
Ich habe noch mal mein Original mit rein kopiert.
Dies kam von Dir:
Dim iRow as integer
iRow=Blatt2.Range(A1").end(xldown).row
.
.
Blatt2.Rows(iRow).insert shift:=xldown
Range(Cells(i,1),Cells(i,5).copy destination:=Blatt2.cells(iRow,2)
mein Makro
Sub SätzeAufAnderesTabellenblattÜbertragen2()
Dim Blatt1 As Worksheet
Dim Blatt2 As Worksheet
Dim i As Integer
Dim iAnz As Integer
Set Blatt1 = Worksheets("TB2")
Set Blatt2 = Worksheets("Angebot")
Application.ScreenUpdating = False
Sheets("TB2").Activate
iAnz = 0
For i = 1 To Blatt1.UsedRange.Count
If Blatt1.Cells(i, 1) <> "" Then
Blatt2.Rows(21).Insert shift:=xlDown
Range(Cells(i, 1), Cells(i, 5)).Copy Destination:=Blatt2.Range("b21")
iAnz = iAnz + 1
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Es wurden " & iAnz & " Sätze übertragen"
Anzeige
AW: Es will nicht so wie ich es will
20.01.2004 21:10:52
xXx
Hallo,
das sollte eigentlich funktionieren. Testen kann ich nicht, da ich deine Mappe nicht habe.

Sub SätzeAufAnderesTabellenblattÜbertragen2()
Dim Blatt1 As Worksheet
Dim Blatt2 As Worksheet
Dim i As Integer
Dim iAnz As Integer
Dim iRow As Integer
Set Blatt1 = Worksheets("TB2")
Set Blatt2 = Worksheets("Angebot")
iRow = Blatt2.Range("a1").End(xlDown).Row
Application.ScreenUpdating = False
Blatt1.Activate
iAnz = 0
For i = 1 To Blatt1.UsedRange.Count
If Blatt1.Cells(i, 1) <> "" Then
Blatt2.Rows(iRow).Insert shift:=xlDown
Range(Cells(i, 1), Cells(i, 5)).Copy Destination:=Blatt2.Cells(iRow, 2)
iAnz = iAnz + 1
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Es wurden " & iAnz & " Sätze übertragen"
End Sub

Gruß aus'm Pott
Udo
http://www.excelerator.de
P.S.Das Forum lebt auch von den Rückmeldungen an die Antworter.
Anzeige
supero, danke Dir
20.01.2004 22:44:57
maze
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige