Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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
Inhaltsverzeichnis

Tabelle hinter Quelltabellenblatt einfügen

Tabelle hinter Quelltabellenblatt einfügen
01.11.2015 15:29:22
Hermann
Hallo zusammen,
ich bekomme es nicht hin, daß die neu eingefügten Blätter 01Urlaub, 02Urlaub usw.
hinter der Tabelle "Urlaub" stehen.
Sheets.Add After:= hat auch nicht funktioniert.
Code:
For i = 23 To lngLC Step 3
k = k + 1
Set wksDst = .Sheets.Add(, .Sheets(k))
wksDst.name = wksSrc.Cells(1, 20 + 3 * k) & "Urlaub"
wksSrc.Columns(1).Resize(, 22).Copy wksDst.Cells(1, 1)
wksSrc.Columns(20 + 3 * k).Resize(, 3).Copy wksDst.Cells(1, 23)
next
Vielleicht kann mir jemand helfen.
Gruß, Hermann

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle hinter Quelltabellenblatt einfügen
01.11.2015 15:37:00
Daniel
Hi
probiers mal so
k = Sheets("Urlaub").Index
for i = 23 to lngLC Step 3
set wksDst = .Sheets.Add(After:=.Sheets(k)
wksDst.name = wksSrc.Cells(1, i) & "Urlaub"
wksSrc.Columns(1).Resize(, 22).Copy wksDst.Cells(1, 1)
wksSrc.Columns(i).Resize(, 3).Copy wksDst.Cells(1, 23)
k = k + 1
Next
Gruss Daniel

AW: ups noch ein ")" vergessen
01.11.2015 15:38:13
Daniel
du findest sicherlich schon raus wo.
Gruss Daniel

AW: ups noch ein ")" vergessen
01.11.2015 16:06:26
Hermann
Hallo Daniel,
ich habe die fehlende Klammer eingefügt. Sheets(k)). Leider funktioniert es so nicht.
"k" ist die Variable wie oft nach Spalte 22 (ab Sp.23) dreiSpaltenzusammen vorkommen.
z.B. Anzahl Gesamtspalten 31. Hinter Sp22: 1. Block (23,24,25); 2. Block(26,27,28);3. Block(29,30,31) also k = 3. Es werden 3 Tabellenblätter mit der Bezeichnung aus (1;23)&Urlaub, (1;26)&Urlaub,
und (1;29)&Urlaub eingefügt. Das funkt. Die drei Tabellen werden aber vor meiner Quelltabelle(Urlaub) eingefügt.
Gruß, Hermann

Anzeige
AW: ups noch ein ")" vergessen
01.11.2015 16:21:43
Daniel
Hi
das funktioniert schon
das k ist in deinem Codebeispiel doch nur die Zählvariabele, wie oft du die Schleife schon durchgelaufen hast.
da diese Variabele aber im Gezeigten Code nicht direkt gebraucht wird, habe ich mir erlaubt sie anderweitig zu verwenden, dh ich lege hier die Position des des Blattes "Urlaub" ab und zähle sie in der Schleife immer +1, damit die Einfügeposition des nächsten Blattes stimmt.
wenn du mit mehreren Datien arbeitest (worauf der Punkt vor dem Sheets() hinweist), dann musst du die Postition des Blattes "Urlaub" auch richtig ermitteln und darfst in der Zeile
k = Sheets("Urlaub").Index den Punkt nicht vergessen, dh auch diese Zeile muss lauten
k = .Sheets("Urlaub").Index
Ich gebe bei .Sheets.Add mit AFTER das Blatt an, nachdem das neue Blatt eingefügt werden soll!
das solltest du auch beachtet haben.
wenn du die Variabele k anderweitig noch verwendest, dann kannst du natürlich auch eine Andere Variable verwenden, um die Position des Blattes "Urlaub" und damit die Einfügeposition des nächsten Blattes zu speichern.
Gruss Daniel

Anzeige
AW: ups noch ein ")" vergessen
01.11.2015 16:45:06
Hermann
Hallo Daniel,
ich verstehe deine Idee als Nicht-VBA-ler und werde eine neue Variable verwenden.
suche bitte mal in meinem Code die Zeile
wksDst.name = wksSrc.Cells(1, 20 + 3 * k) & "Urlaub"
Da muß doch zu Beginn der Schleife k=1 sein sonst wird mir das eingefügte Tabellenblatt falsch beschriftet. Da ich mich in VBA nicht auskenne, frage ich dich dazu um daraus zu lernen.
Gruß, Hermann

AW: ups noch ein ")" vergessen
01.11.2015 16:59:18
Daniel
Hi
ja, aber wenn du meinen Code gelesen hättest (das darfst du auch als Nicht-VBAler), dann hätte dir auffallen müssen, dass ich an dieser Stelle gar nicht die Variable k verwende sondern direkt i, weil i hier den gleichen Wert hat wie 20 + 3 * k (vergleiche einfach mal mit der Schleifendefinition: for i = 23 to xxx Step 3)
Gruss Daniel

Anzeige
AW: ups noch ein ")" vergessen
01.11.2015 17:25:58
Hermann
Hallo Daniel,
du bist ein "Fuchs", ohne deinen Hinweis i und k zu vergleichen, wäre ich im Leben nicht darauf gekommen. Ich versuchte mein Bestes aber es ist mir nicht gelungen.
Ich habe alles rückgebaut und es funktioniert.
Entschuldige nochmal, daß ich dich so lange aufgehalten habe.
Aber ich habe wieder was dazu gelernt.
Kannst Du mir den Code noch so ändern, daß das Blatt mit Namen aus (Zeile 1, Spalte 23) das 1. hinter dem Quellenblatt "Urlaub" ist. Momentan ist es das Letzte.
Gruß Hermann

AW: ups noch ein ")" vergessen
01.11.2015 17:38:39
Daniel
Hi
mein Code ist so geschrieben, dass das Blatt mit dem Namen aus 23 das erste nach Urlaub ist und das mit dem Namen aus 29 das letzte.
dh der Fehler besteht wahrscheinlich in deinem Code in seiner letzten Version und die kenne ich nicht.
hast du berücksichtigt, dass du k (bzw die Variable, die du für die Postition des Blattes Urlaub verwendest) in der Schleife um 1 hochzählen musst?
also das k = k + 1 muss drin bleiben und zwar an der Stelle, wo ich es hingeschrieben habe.
sprich: das erste Blatt muss direkt nach "Urlaub" (Blatt k) eingefügt werden, das zweite dann nach dem ersten Blatt nach Urlaub und das dritte nach dem zweiten Blatt nach Urlaub.
wenn du das Blatt immer direkt nach "Urlaub" einfügen willst, dann kannst du dir das mit der Variable auch sparen, dann muss die Schleife aber rückwärts laufen:
for i = lngLC - 2 to 23 Step - 3
Set ... = Sheets.Add (after:=Sheets("Urlaub"))

Gruss Daniel

Anzeige
AW: ups noch ein ")" vergessen
01.11.2015 17:38:40
Daniel
Hi
mein Code ist so geschrieben, dass das Blatt mit dem Namen aus 23 das erste nach Urlaub ist und das mit dem Namen aus 29 das letzte.
dh der Fehler besteht wahrscheinlich in deinem Code in seiner letzten Version und die kenne ich nicht.
hast du berücksichtigt, dass du k (bzw die Variable, die du für die Postition des Blattes Urlaub verwendest) in der Schleife um 1 hochzählen musst?
also das k = k + 1 muss drin bleiben und zwar an der Stelle, wo ich es hingeschrieben habe.
sprich: das erste Blatt muss direkt nach "Urlaub" (Blatt k) eingefügt werden, das zweite dann nach dem ersten Blatt nach Urlaub und das dritte nach dem zweiten Blatt nach Urlaub.
wenn du das Blatt immer direkt nach "Urlaub" einfügen willst, dann kannst du dir das mit der Variable auch sparen, dann muss die Schleife aber rückwärts laufen:
for i = lngLC - 2 to 23 Step - 3
Set ... = Sheets.Add (after:=Sheets("Urlaub"))

Gruss Daniel

Anzeige
AW: ups noch ein ")" vergessen
01.11.2015 17:58:06
Hermann
Hallo Daniel,
das k = Sheets("Urlaub").Index war in meiner For Schleife.
Jetzt ist alles perfekt.
Und ich verstehe auch den Code.
Nochmals vielen Dank,
Gruß, Hermann

AW: ups noch ein ")" vergessen
01.11.2015 18:02:27
Daniel
"Und ich verstehe auch den Code."
das ist das wichtigste.
Gruss Daniel

10 mal AW: ups noch ein ")" vergessen
01.11.2015 21:54:45
WF
.

11 mal AW: ups noch ein ")" vergessen
02.11.2015 01:11:17
Daniel
.

12 mal AW: ups noch ein ")" vergessen
02.11.2015 01:11:33
Daniel
.

13 mal AW: ups noch ein ")" vergessen
02.11.2015 01:11:47
Daniel
.

14 mal AW: ups noch ein ")" vergessen
02.11.2015 01:12:06
Daniel
.

14 mal AW: ups noch ein ")" vergessen
02.11.2015 01:12:20
Daniel
.

16 mal AW: ups noch ein ")" vergessen
02.11.2015 01:12:42
Daniel
.

17 mal AW: ups noch ein ")" vergessen
02.11.2015 01:12:56
Daniel
.

18 mal AW: ups noch ein ")" vergessen
02.11.2015 01:13:10
Daniel
.

19 mal AW: ups noch ein ")" vergessen
02.11.2015 01:13:32
Daniel
.

20 mal AW: ups noch ein ")" vergessen
02.11.2015 01:13:47
Daniel
.

21 mal AW: ups noch ein ")" vergessen
02.11.2015 01:14:08
Daniel
.

22 mal AW: ups noch ein ")" vergessen
02.11.2015 01:14:24
Daniel
.

Fehler: hier war's 15 mal
02.11.2015 12:20:32
WF
.

Jetzt dreht er vollends durch und vermüllt das ...
02.11.2015 03:07:52
Luc:-?
…Forum! Auf WP (Wikipedia) wäre jetzt eine (berechtigte) VM (Vandalismus-Meldung) fällig! :-[
Luc :-?

Anzeige
Viell war's aber auch sein 'Troll-Alterego', ...
02.11.2015 03:13:49
Luc:-?
…quasi die dunkle Seite dieses pseudonym-schizophrenen „Forumsers“… :-]

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige