Hallo liebe Helferlein,
es ist wiedermal soweit, sitze hier vor meinem Code und finde meinen Fehler nicht.
Könnte sich einer den Code mal ansehen und mir sagen was ich vergessen habe.
Also die Namen für die Tabellenblätter werden erstellt .Auch wird der erste gefundene Wert in das passende Tabellenblatt eingetragen, aber es gibt mehrere Zeilen die eingetragen werden müssen.
Beispiel Tabelleblattname = wundervoll
Aber Spalte A in der Tabelle Daten hat 38 mal wundervoll
Die müssen alle in das Tabellenblatt „wundervoll“.
Für Eure Hilfe wie immer dankbar.
viele Grüße
Susanne
Sub TabellenblätterNeuUndFüllen()
Dim wsSrc As Worksheet ’ die Quelltabelle
Dim iSrc As Long ’ Zeilenummer in der Quelle
Dim iDst As Long ’ Zeilennummer im Ziel
Dim strKey As String ’ ein Tabellenname aus Spalte A
Dim Blatt As Worksheet’
Dim Blatt As Long
Set wsSrc = Worksheets(„Bestand“) ’ ’ Schleife über alle Zeilen bestimmt aus der letzten Zeile von Spalte A
For iSrc = 7 To wsSrc.cells(wsSrc.Rows.Count, 1).End(xlUp).Row ’ Der Wert aus Spalte A ohne Leerzeichen vorne und hinten
strKey = Trim(wsSrc.cells(iSrc, 1).Value) ’ keine Leerzellen nehmen
If Len(strKey) Then ’ Falls die Tabelle nicht existiert anlegen, Zeile 1 und Zeile iSrc kopieren
If Not WorksheetExists(strKey) Then
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = strKey
wsSrc.Rows(6).Copy Rows(6)
wsSrc.Rows(iSrc).Copy Rows(7)
Else’ ’ letzte Zeile aus Spalte A bestimmen
iDst = ActiveSheet.cells(Rows.Count, 1).End(xlUp).Row
’ und die Zeile kopieren
wsSrc.Rows(iSrc).Copy ActiveSheet.Rows(iDst)
End If
End If
Next
End Sub
’’ testet ob die Tabelle mit dem Namen „strName“ existiertPublic Function Worksheetvorhanden(ByVal strName As String) As Boolean
On Error Resume Next WorksheetExists = Not Worksheets(strName) Is Nothing
End Function
Könnte sich einer den Code mal ansehen und mir sagen was ich
vergessen habe.
Also die Namen für die Tabellenblätter werden erstellt .Auch
wird der erste gefundene Wert in das passende Tabellenblatt
eingetragen, aber es gibt mehrere Zeilen die eingetragen
werden müssen.
Hallo Susanne,
du überschreibst dir 38mal die gleiche Zeile. Nimm das
iDst = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
oder das
wsSrc.Rows(iSrc).Copy ActiveSheet.Rows(iDst + 1)
Mache den Funktionsnamen wieder stimmig.
Das ActiveSheet kann m.E, zu Problemen führen wenn in A die Namen nicht in Blöcken stehen…
Gruß
Reinhard
Hallo Reinhard,
vielen lieben Dank.
Hab mal wieder den Wald vor lauter Bäumen nicht gesehen.
Leider habe ich das Problem, die Zeilen werden bei nochmaligen ausführen des Makros doppelt in die Tabellenblätter eingetragen. Könntest Du bitte nochmal Hand anlegen.
Könntest Du mir vielleicht den Code, nicht für ganze Zeilen, sondern auf einen Bereich von A bis K abändern.
Viel Grüße
Susanne
Leider habe ich das Problem, die Zeilen werden bei nochmaligen
ausführen des Makros doppelt in die Tabellenblätter
eingetragen. Könntest Du bitte nochmal Hand anlegen.
Könntest Du mir vielleicht den Code, nicht für ganze Zeilen,
sondern auf einen Bereich von A bis K abändern.
Hallo Susanne,
ich hatte bislang keine Zeit. Ungetestet sag ich mal daß bei jeder zusätzlichen Makroausführung Zeilen angehängt werden. Und das soll im Code verhindert werden?
Gruß
Reinhard
Leider habe ich das Problem, die Zeilen werden bei nochmaligen
ausführen des Makros doppelt in die Tabellenblätter
eingetragen. Könntest Du bitte nochmal Hand anlegen.
Könntest Du mir vielleicht den Code, nicht für ganze Zeilen,
sondern auf einen Bereich von A bis K abändern.Hallo Susanne,
Hallo Reinhard
ich hatte bislang keine Zeit. Ungetestet sag ich mal daß bei
jeder zusätzlichen Makroausführung Zeilen angehängt werden.
Und das soll im Code verhindert werden?
Ja,bitte.
Es sollen keine doppelten Zeilen eingefügt werden.
Das habe ich mit doppelten Zeilen löschen gelöst.
Könntest Du mir vielleicht meinen Code so ab ändern das nicht mehr ganze Zeilen kopiert werden sondern nur der Bereich von A bis K…kopiert wird.
Ich habe noch ein anders Problem. Es sollte in die Zelle B2 (Tab.Bestand) die Nummer bzw. String eines Tabellenblattes eingegeben werden und damit aktiviert werden. Leider funktioniert mein Code nicht.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zellbereich As Range
Set Zellbereich = Range("$B$2")
On Error Resume Next
If Target.Address = Zellbereich.Address Then
Blatt = Target
Sheets(Blatt).Activate
Else
End If
End Sub
Für Deine Hilfe möchte mich schon einmal ganz herzlich Bedanken.
viele Grüße
Susanne
Gruß
Reinhard
Hallo Susanne,
ich hatte bislang keine Zeit. Ungetestet sag ich mal daß bei
jeder zusätzlichen Makroausführung Zeilen angehängt werden.
Und das soll im Code verhindert werden?
Ja,bitte.
Es sollen keine doppelten Zeilen eingefügt werden.
Das habe ich mit doppelten Zeilen löschen gelöst.
das ist aber kein Verhindern. Lade bitte eine Mappe hoch mit fileupload, s. FAQ:2606
Ich möchte darin deinen aktuellen Code sehen. Wie startest du eigentlich den Code? In einer Spalte paarmal „wundervoll“ aber auch paar andere Begriffe mehrmals. Im Spaltenaufbau wie im Original bezüglich Sortierung, Blockbildung usw.
Gruß
Reinhard
Hallöchen
hier der Link
[URL=[http://www.file-upload.net/download-9191035/--bersic…](http://www.file-upload.net/download-9191035/--bersicht-.xlsm.html]--bersicht-.xlsm[/URL)]
Hoffe die Mappe hilft weiter
auf Antwort wartend
ganz viele Grüße und Herzlich Dank
Susanne
Hallo Susanne,
http://www.file-upload.net/download-9191035–bersich…
mit dieser Syntax wäre dein Link anklickbar gewesen.
Hoffe die Mappe hilft weiter
Teils teils, was bedeutet „übertragen“?
Z.B. in Blatt 11111 sind Zeile 9 und Zeile 11 gleich, wieso sind die nicht doppelt?
Gruß
Reinhard
Hallo Reinhard
Teils teils, was bedeutet „übertragen“?
Ist nur zum Prüfen ob auch alles aufs andere Blatt übertragen wird.
Z.B. in Blatt 11111 sind Zeile 9 und Zeile 11 gleich, wieso
sind die nicht doppelt?
Ich habe nur einige gekennzeichnet, wenn auf dem Tabellenblatt der Button Blätter bereinigen gedrückt wird, werden die doppelten gelöscht. Auch nur der Überprüfung halber.
Gruß
Susanne
Hallo Reinhard
Teils teils, was bedeutet „übertragen“?Ist nur zum Prüfen ob auch alles aufs andere Blatt übertragen
wird.Z.B. in Blatt 11111 sind Zeile 9 und Zeile 11 gleich, wieso
sind die nicht doppelt?
Ich habe nur einige gekennzeichnet, wenn auf dem Tabellenblatt der Button Blätter bereinigen gedrückt wird, werden die doppelten gelöscht. Auch nur der Überprüfung
halber. Der Eintrag ist doppelt habe ihn aber nicht an das Ende des Bereichs gestellt.,dadurch wird er auch nicht gelöscht. Ist ein Fehler meinerseits gewesen.
Gruß
Susanne
Liebe Experten,
ich hätte nicht gefragt, wenn ich keine Hilfe gebraucht hätte. Leider wiedermal keine Antwort erhalten. Nicht einmal ein Anhaltspunkt.
Bin enttäuscht und werde auch hier nicht mehr Fragen.
Für alle hilfreichen Tipps und Ratschlägen möchte ich mich nochmal bei allen die mir geholfen habe bedanken.
Gruß
Susanne
Liebe Susanne
ich hätte nicht gefragt, wenn ich keine Hilfe gebraucht hätte.
klingt logisch.
Leider wiedermal keine Antwort erhalten.
Das ist ein äußerst heftiger Vorwurf an alle hier im Brett. Ich halte das aber für einen haltlosen Vorwurf. Kurzbeweis ist diese Beitragsfolge. Ich sehe da durchaus Antworten von mir. Du nicht?
Nicht einmal ein Anhaltspunkt.
Falls es so gewesen ist was ich nicht glaube gibt es Gründe dafür.
Bin enttäuscht und werde auch hier nicht mehr Fragen.
Du kannst machen was du möchtest. Z.B. Denken. Darüber nachdenken warum du schon wiedermal das Gefühl hast deine Forenanfragen werden völlig mies behandelt. Und was dein Anteil daran sein könnte.
Für alle hilfreichen Tipps und Ratschlägen möchte ich mich
nochmal bei allen die mir geholfen habe bedanken.
Aha, also dochmal hilfreiche Antworten erhalten *feststell*
@Susanne, jetzt zu/bei dieser Beitragsfolge, da kann ich dir einigermaßen genau benennen warum du bislang noch keine Vba-Lösung von mir hast.
Aber du willst ja hier nix mehr fragen.
Gruß
Reinhard
Liebe Susanne
bislang habe ich mich herausgehalten, aber nu isset gutt.
Du wirfst ein Stück Code auf den Markt, bettelst darum, dass andere Leute in dem Mist wühlen, bist aber nicht mal in der Lage, Aufgabe oder Problem angemessen zu beschreiben. Nach dem 3. Versuch, Dir die Würmer aus der Nase zu ziehen (Reinhard, mit Verlaub: Du bist ein liebes Schaf), flennst Du, Dir hülfe keiner. Aus meiner (boshaften) Sicht: hoffentlich; hier werden keine Hausaufgaben erledigt.
Gruß Ralf