automatisch addieren nach Tabellenblatt
#21
Hallo,

da Deine Tabellen mit den Namen völlig willkürliche Indexe haben und auch noch Tabellen dazwischen stehen, die andere Bezeichnungen haben, wird das m.E. so nicht funktionieren.

Außerdem finde ich kein Makro, was einen Fehler erzeugen könnte.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#22
Hallöchen,

Code:
Sub test()
For loa = Sheets("1").Index To Sheets("2").Index
Debug.Print Sheets(loa).Name
Next
End Sub

also, ich sehe da folgendes Ergebnis, welches der Anordnung in der Beispielmappe entspricht:

1
U
S
Name1
Name2
Name3
Name4
Vorlage
Name5
Name6
Vorlage_2
Vorlage_3
Name7
Name8
Name9
Name10
2
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#23
So servus ...
der fehler wo ich meinte, kommt erst wenn ich die eine Zeile austausche die "Schauan" mir vorgeschlagen hat
("For loA = Sheets("1").Index To Sheets("2").Index)

da stimmt dann irgendwas nicht.


Die Anordnung ist damit wir uns richtig verstehen, tatsächlich immer unterschiedlich
in dem Fall von der Testmappe könnte im nächsten monat das Tabellenblatt mit Namen 5 an position 1 sein.

@ Schauan, die neue Formel von dir im letzten Post, funktioniert die bei einer unterschiedlichen anordnung ?



kann man dem blöden Excel ^^ sorry ... nicht einfach sagen er soll nur bei den Tabellenblätern die Zwischen Tabellenblatt mit dem Namen 1 und 2 liegenin,
Zelle X immer + 1 zum vorherigen Tabellenblatt addieren.

also :

Tabellenblatt Neu Zelle X1 bekommt den Wert 123456

dann sollen die Betreffenden Tabellenblätter immer +1 zum vorheriegen addieren.
aber eben nur die wo zwischen den beiden Blättern mit dem Namen 1 und 2 liegen.

(ACHTUNG : mit 1 und 2 mein ich nich die Position ... ich hab wirklich Tabellenblätter die so heißen ... brauch ich für eine Berechnung ;;)

hoff ich habs gut erklärt.

PS: will euch hiermit nicht noch länger aufhalten ... und es is einfach kacke zum erklären ;;) bevor ich nohc mehr unmut auf mich zieh geb ich mich lieber geschlagen und machs halt weiterhin per handeingabe
Top
#24
Hallöchen,

ist doch kein Unmut. Probleme sind da, um gelöst zu werden Smile
Mit der Reihenfolge kannst Du ja einfach ausprobieren. Schiebe mal ein Tabellenblatt an eine andere Stelle, z.B. Name2 vor Name1, und schaue, was sich ergibt.

Statt Dieser Zeile
Debug.Print Sheets(loa).Name

nimmst Du später das Addieren, z.B. so wenn es mit 1 losgehen soll
Code:
Sub test()
'Variablendeklarationen
Dim iCnt1%, loa%
'Schleife ueber alle Blaetter zwischen 1 und 2
For loa = Sheets("1").Index To Sheets("2").Index
'Zaehler hochsetzen
icnt1=icnt1+1
'Zaehler in X1 eintragen
Sheets(loa).Rage("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
#25
hi ^^
danke für die aufbauenden worte aber so langsam komm ich ma doch bisl blöd vor :s 
das was ich kann hab ich mir durch den ein oder anderen code der mir hier geschrieben worden ist,
selbst zusammengereimt und das is leider nich viel ...


hab jetzt mal bischen rumgespielt aber ich mach da irgendwas falsch beim eingeben bzw auswechseln Undecided

 
du schreibst :
-------------------
Statt Dieser Zeile
Debug.Print Sheets(loa).Name

nimmst Du später das Addieren, z.B. so wenn es mit 1 losgehen soll
-------------------
aber in dem kommenden code is die zeile garnich drin Huh
hätte gerne nach der ganzen dauer nen "JIPI es klappt geschrieben" Blush

wenns geht, sagt mir bitte genau welchen teil ich wo reinsetzen muss.

hier mal die richtigen bezüge, vill mach ich auch hier was falsch mit dem auswelchseln.

Blattname: "RNr" Zelle : "B10" (enthält den Grundwert)
und wie ja eben bekannt alle blätter zwischen Blatt 1 & 2 ,
sollen +1 zum vorherrigen blatt addieren in Zelle : "V8"

falls es der ganzen sache hilft, es würde auch reichen, wenn der code sich erst auf tastenbefehl ausführen lässt was vill auch einfacher wäre.
Weil zum Zeitpunkt der ausführung die Blätter nicht mehr bewegt werden.

Danke nochmals Blush
Gruß
lion
Top
#26
Hallo,

mach Dir doch das Leben nicht so schwer.
Liste in einer separaten Tabelle die aufzuadierenden Tabellen noch einmal auf.
Alles Andere wäre für mich nicht kontrollierbar.

Angenommen Du hast die Tabellen so gelistet:

Arbeitsblatt mit dem Namen 'Summentabs'
 A
1Name1
2Name20
3Name3
4Name4
5Name15
6Name6
7Name7
8Name8
9Name9
10Name10
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg



Dann brauchst Du im Codemodul dieser Tabelle (Rechtsklick auf den Tabellenreiter -> Code anzeigen) nur folgenden Code:

Code:
Sub summieren()
 Dim i As Long
 For i = 2 To Application.CountA(Columns("A"))
   Sheets(Cells(i, 1).Value).Range("V8") = Sheets(Cells(i - 1, 1).Value).Range("V8") + 1
 Next i
End Sub
Die Tabelle an erster Stelle enthält den Startwert.
Gruß Atilla
Top
#27
hört sich super an mit der tabelle,

kann man es irgendwie bewerkstelligen das sich ab der zweiten stelle die namen selbst eintragen ? in der riehenfolge so wie sie bei mir zwischen blattnamen 1 und 2 liegen ?
weil wie gesagt die reihenfolge ändert sich (in meinem Fall alle zwei wochen) sonst bekommen manche blätter eine nummer die keine brauchen und das ist bei rechnungsnummern etwas blöd ;)
Top
#28
Hi,

(06.02.2017, 09:46)lion7123 schrieb: kann man es irgendwie bewerkstelligen das sich ab der zweiten stelle die namen selbst eintragen ? in der riehenfolge so wie sie bei mir zwischen blattnamen 1 und 2 liegen ?

suche mal im Forum nach "Inhaltsverzeichnis" oder "Verzeichnis der Tabellenblätter", da wird per VBA automatisch ein Verzeichnis der Blätter einer Mappe erstellt.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • lion7123
Top
#29
Hallo,

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.

Diese Blatt muss aber manuell geordnet werden. Sonst kann er weiter versuchen, die bisherigen Lösungen umzusetzen.

Eine weitere einfache Möglichkeit ist, diese Blätter eindeutig zu Indizieren, dann können sie auch wild durcheinander gelistet sein.
Zum Beispiel Name 100, Name 101 Name 102 etc..., Wenn aber keine Reihenfplge von 1 bis n da ist, wird es auch wieder nicht gehen.
Deswegen immer noch eine manuell erstellte Liste. Er kann sich die Namen ja auch aus der Tabelle "Index" heraus kopieren.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • lion7123
Top
#30
ein index hab ich das stimmt nur hier werden halt alle blätter von a-z aufgelistet.

ich werds jetzt einfach mal mit deiner tabelle ne zeitlang probieren in sofern sag ich an alle vielen vielen dank für eure mühe :)
Top


Gehe zu:


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