automatisch addieren nach Tabellenblatt
#31
Hi,

(06.02.2017, 10:37)lion7123 schrieb: ein index hab ich das stimmt nur hier werden halt alle blätter von a-z aufgelistet.

dann würde ich einfach die Sortierzeile des Makros hinter Blatt "Index" ausblenden:
' Columns(1).Sort Cells(1)
Top
#32
(06.02.2017, 10:51)Rabe schrieb: Hi,


dann würde ich einfach die Sortierzeile des Makros hinter Blatt "Index" ausblenden:
'  Columns(1).Sort Cells(1)

Hallo Ralf,

so, wie die Index Tabelle, mit dem Code dahinter, aufgebaut ist, sollte man für diesen Fall nicht darauf zurückgreifen.
Die Tabelle wird automatisch bei jeder Aktivierung neu eingelesen. Da kann einiges durcheinander geraten.
Gruß Atilla
Top
#33
Hi atilla,

(06.02.2017, 10:26)atilla schrieb: ralf, das hat er schon in seiner Datei. In der Tabelle "Index" wirden bei Aktivierung alle Tabellen eingelesen.
Da das bei jeder Aktivierung erfolgt, habe ich ihm vorgeschlagen ein zweites Blatt mit so einer Liste anzulegen.

ok, da ich die Datei nicht geöffnet hatte, habe ich das nicht gesehen.
Top
#34
Hallöchen,

diese Aussage
Zitat:Statt Dieser Zeile
Debug.Print Sheets(loa).Name
Bezog sich auch auf den ersten Code von mir, in dem noch Debug.Print stand und
Zitat:nimmst Du später das Addieren, z.B. so wenn es mit 1 losgehen soll
sollte Dich darauf hinweisen, dass der folgende Code ein Beispiel ist, wie man das umsetzen kann.

So nun nochmal zum zweiten Code.

Mit Dieser Zeile
'Zaehler hochsetzen
icnt1=icnt1+1

wird ein Zähler hochgesetzt, dessen Wert dann
Sheets(loa).Rage("X1")=icnt1

in die Zelle X1 des jeweiligen Blattes eingetragen wird. Allerdings war da ein Schreibfehler drin, korrekt wäre
Sheets(loa).Range("X1")=icnt1

So wie es programmiert war, wurde auf dem Blatt "1" eine 1 eingetragen, auf dem nächsten Blatt eine 2 usw. und zuletzt auf dem Blatt "2" noch eine Zahl.

Wenn nun auf dem Blatt "Neu", welches nicht zwischen 1 und 2 liegt, in der Zelle X1 die Zahl
123456
steht, und in den folgenden Blättern jeweils 1 mehr stehen soll, dann könnte das Ergebnis so aussehen, wenn die Blätter noch wie im Beispiel angeordnet sind?

1 123457
U 123458
S 123459
Name1 123460
Name2 123461
Name3 123462
Name4 123463
Vorlage 123464
Name5 123465
Name6 123466
Vorlage_2 123466
Vorlage_3 123467
Name7 123468
Name8 123469
Name9 123470
Name10 123471
2 123472

Der Code dafür wäre dann

Code:
Sub test()
'Variablendeklarationen
Dim iCnt1%, loa%
'Anfangswert des Zaehlers aus Blatt "Neu" Zelle X1 entnehmen
icnt1=Sheets("Neu").Range("X1")
'Schleife ueber alle Blaetter zwischen 1 und 2
For loa = Sheets("1").Index To Sheets("2").Index
'Zaehler 1 hochsetzen
icnt1=icnt1+1
'Zaehler in X1 eintragen
Sheets(loa).Range("X1")=icnt1
'Ende Schleife ueber alle Blaetter zwischen 1 und 2
Next
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • lion7123
Top
#35
so hat wieder etwas länger gedauert  Blush 
@schauan erstmal nochmal danke an dich und für den neuen code der auch funktioniert :19: bzw ich diesmal richtig eingebunden habe das er bei MIR geht Angel 
jetzt geht das arbeiten schon wieder ein bischen schneller und ich muss euch sagen, wenn es dieses forum hier nicht geben würde, hätte ich vor 3 Jahren nicht gewusst wie ich
(nach dem dahinscheiden meines WIN NT Rechners mit Abrechnungsprogramm) meine Rechnungen schreiben hätte sollen... ohne Euch alle wäre da einiges nicht möglich gewesen!!!!!!

Vielen Dank nochmal an ALLE :21: 

und man schreibt sich bestimmt nochmal aber vorerst habt ihr Euch eine Pause verdient :15: 

Gruß lion
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste