Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Fortlaufende Zahlen bei Dateinamen (Makros)





Frage

Hallo Leute, ich kenne mich leider nicht mit Makros aus, deshalb brauche ich eure Hilfe :) Folgendes Problem. Ich habe Dateinamen in dem Format "001dat-TCD - Channel A.esd" (esd = excel-datei). Nun möchte ich, dass Excel jedes mal wenn ich einen Knopf drücke, einen Wert aus der Datei liest (Bsp.: =´001dat-TCD - Channel A.esd´!$E$2). Wenn er dies getan hat, möchte ich dass er auf Knopfdruck eine Spalte weiterspringt und und die "001" um eine weitere Zahl erhöht, so dass er dann bei "002" ist usw., das soll bis maximal 300 gehen. Wie sieht der codeschnipsel für die Erhöhung der Zahl im Dateinamen aus? Vielen Dank im Vorraus für Eure Hilfe :)

Antwort 1 von Saarbauer

Hallo,

vor längerer Zeit wurde das Problem schon einmal behandelt, finde aber leider denThread nicht mehr.

Schon damals hatte ich vorgeschlagen den Dateinamen mit dem Tagesdatum zu versehen und somit wäre eine Sortierung möglich. Tadum in der Form: JJJJMMTT; falls erforderlich noch Uhrzeit

Gruß

Helmut

Antwort 2 von gast3

Den Namen in eine Zahl und einen String aufteilen. Dann die Zahl hochzählen und immer wieder zusammensetzen:

For n = 1 To 300
	n = String(3 - Len(n), "0") & n
	name = n & "dat-TCD - Channel A.esd"
	MsgBox name
Next


Antwort 3 von Saarbauer

Hallo,

das oben genannte Beispiel

https://supportnet.de/threads/1107254

Gruß

Helmut

Antwort 4 von Mr.Fry

Hallo,

danke für die Antworten!

Das Problem ist, dass ich keine Macht über die Dateinamen hab. Die Dateien sind ein Messergebnis eines Programmes aus dem Labor, das Ergebnis kann bis zu 999 Dateien lang sein, da wird das umbennenen doch recht schwierig ;)

Aber ich werd das mit der Schleife probieren, danke!

Antwort 5 von Event

Hallo
Zitat:
Wenn er dies getan hat, möchte ich dass er auf Knopfdruck eine Spalte weiterspringt und und die "001" um eine weitere Zahl erhöht, so dass er dann bei "002" ist usw., das soll bis maximal 300 gehen.

vergiß nicht, daß bei 255 Schluß ist

Gruß

Antwort 6 von Mr.Fry

Hallo Leute,

ich hab nun folgendes Problem. Ich hab mir hier eine (wohlwissend NICHT funktionsfähige ;)) Schleife, kann mir jemand sagen wie ich die Variable "Name" als Dateinamen benutzen kann?


For n = 1 To 30
n = String(3 - Len(n), "0") & n
Name = n & "dat-TCD - Channel A.esd"
ActiveCell.FormulaR1C1 = "=´001dat-TCD - Channel A.esd´!R9C4"
Range("C4").Select

Next


Wie gesagt, ich arbeite zum ersten Mal mit Makros und hab sonst auch nur minimalste Programmierkenntnisse..

Ich möchte dass er statt ´001dat-TCD - Channel A.esd´ die oben deklarierte Variable "Name" nimmt, also er dort immer den Dateinamen der Schleife nimmt. Wie baut man die Variable ein? Ich konnte leider in der Hilfe nix finden :-/

Ich hoffe ihr könnt mir weiterhelfen!

Danke, Gruß

Antwort 7 von gast3

Mhm ich hab echt null Ahnung, was Du da für kryptisches Zeug um den Namen herumgebaut hast. Kenne mich mit Excel auch kaum aus. Deshalb übersetze ich einfach mal ohne Verständnis:

ActiveCell.FormulaR1C1 = "=´001dat-TCD - Channel A.esd´!R9C4"

wird zu:

ActiveCell.FormulaR1C1 = "=´" & name & "´!R9C4"

Das Prinzip ist ganz einfach. Aus der Stringkonstanten wird ein Stück herausgenommen (nämlich der Name) und durch die Variable "name" ersetzt.
Dieses Zeichen ´ war wohl ein einstrichiges Anführungszeichen. Dass das verändert wird, ist ein Bug hier im Forum. Achte darauf wenn Du diesen Code kopierst!

Antwort 8 von Mr.Fry

Danke Gast3, es funktioniert :)

Kann mir noch jemand sagen wie ich in die Schleife

For n = 1 To 30
n = String(3 - Len(n), "0") & n
Name = n & "dat-TCD - Channel A.esd"
ActiveCell.FormulaR1C1 = "=´" & Name & "´!R9C4"
Range("C4").Select

einbaue, dass er nachdem er die Zahl um eins erhöht hat, eine Spalte nach rechts gehen soll und dann z.B. aus der Datei 002... den Wert aus der neuen Datei in die Zelle einträgt?

Danke für Eure Hilfe, ihr habt mir schon echt weitergeholfen :D

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: