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

Hilfe bei Makro

Hilfe bei Makro
18.07.2005 18:47:18
Peter
Hallo,
in der Tabelle „GesArtikel“ in Spalte1 stehen Artikelnummern.
Die Blattnamen dieser Arbeitsmappe entsprechen den Artikelnummern aus
der Tabelle „GesArtikel“.
Der Zeileninhalt aus der Tabelle „GesArtikel soll auf die Tabelle mit den
Namen der entsprechenden Artikelnummer verteilt werden.
Ist in der Arbeitsmappe keine Tabelle mit den Namen der Artikelnummer vorhanden, soll eine
Tabelle zugefügt werden, nach den Artikel aus der Tabelle „GesArtikel“ benannt
werden und der Zeileninhalt eingefügt werden.
Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe
und mir jemand helfen kann.
Peter

Sub InArtikelBlatt_verteilen()
'Verteilt nach Spalte 1 (ArtNr) der Tabelle „ GesArtikel“ die
'entsprechenden Zeilen auf die Tabellen mit den Namen der ArtNr
Dim sh  As Worksheet
On Error Resume Next
Worksheets("GesArtikel").Activate
intRow = 1
Do Until IsEmpty(Cells(intRow, 1))
TabName = Cells(intRow, 1)
Set sh = Worksheets(TabName)
If Err.Number <> 0 Then
Err.Clear
MsgBox "Tabellenblatt nicht vorhanden"
Sheets.Add
ActiveSheet.Name = TabName
intLastRow = sh.Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(intRow).Copy sh.Rows(intLastRow)
Else
MsgBox "Tabellenblatt  vorhanden"
intLastRow = sh.Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(intRow).Copy sh.Rows(intLastRow)
End If
intRow = intRow + 1
Loop
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Makro
20.07.2005 16:06:39
Volker
Hallo Peter,
ich nehme an, der bug liegt in dieser Zeile begraben:
Rows(intRow).Copy sh.Rows(intLastRow)
Zumindest, wenn das Blatt neu erzeugt wird, sollte es schiefgehen, weil sich Rows(intRow)
auf das aktive Blatt bezieht und das ist ja grad das neue erzeugte.
Mit
Sheets("GesArtikel").Rows(intRow).Copy sh.Rows(intLastRow)
solltest du auf der sicheren Seite sein, habs aber nicht getestet.
Gruß
Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige