Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Formeln schon in TXT-Datei erzeugen?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Formeln schon in TXT-Datei erzeugen? (1071 mal gelesen)
Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018 / 2023
BricsCAD 22

erstellt am: 12. Mrz. 2009 18:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

(Office 2003)

Basis 1:
Ich erzeuge aus einem anderen Programm tabulatorgetrennte Textlisten mit Erweiterung XLS, die in Excel schön aufgehen.

Code:
d:\daten\test.doc
d:\daten\test2.txt

Basis 2:
In Excel gibt es die schöne "Hyperlink"-Formel, mit der man Dateien sehr schnell öffnen kann:
Code:
=HYPERLINK(A2;"öffnen")

Ziel:
Ich möchte meine tabulatorgetrennte Textlisten so erstellen, dass die Hyperlinkformel gleich mitkommt, also so:
Code:
d:\daten\test.doc TAB =HYPERLINK(A2;"öffnen")
d:\daten\test2.txt TAB =HYPERLINK(A3;"öffnen")

Problem 1:
Das scheitert aber daran, dass ich bei der Listenerstellung die Zeilennummer (2, 3, ...) nicht weiss und dass angebliche "relative Bezugssystem" sich hier als absolut erweist, weil es (siehe auch Hilfe) nur im Moment des Kopieren dynamisch wird.
"Lösung":
Ich steige auf das "alte ZS - Bezugssystem" um, das klappt bestens, weil es wirklich relativ ist:
Code:
d:\daten\test.doc TAB =HYPERLINK(ZS(-1);"öffnen")
d:\daten\test2.txt TAB =HYPERLINK(ZS(-1);"öffnen")

Problem 2:
Schicke ich das einem Kollegen, der nicht auf ZS umgestellt hat, funktioniert das nicht.
"Lösung":
Der Kollege stellt auch auf ZS um.
Problem 3:
Wenn der Kollege eine "normale Datei mit normalen Formeln mit normalem Bezug" öffnet, dann funktioniert das wieder nicht.

Abschlussfrage:
Wie kriege ich für eine Standardkonfiguration einen sauberen wirklich relativen Bezug in meine Liste?

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

[Diese Nachricht wurde von Peter2 am 12. Mrz. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 12. Mrz. 2009 18:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

N'Abend,

Auf die Schnelle: Workaround:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ReferenceStyle = xlA1
End Sub

Private Sub Workbook_Open()
Application.ReferenceStyle = xlR1C1
End Sub


Haken: Du mußt Makros in der Datei zulassen, kannst aber die Sicherheit auf mittel stellen -> Abfrage erscheint.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 12. Mrz. 2009 18:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Ergänzung: (ich soll ja nicht editieren, daher neuer Beitrag)
Wenn Du statt Open und Before_Close das Activate und Deactivate nutzt, kann man nebenbei auch andere Dateien bearbeiten.
Code:
Private Sub Workbook_Activate()
Application.ReferenceStyle = xlR1C1
End Sub

Private Sub Workbook_Deactivate()
Application.ReferenceStyle = xlA1
End Sub


------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info    Excel -Suche    RuA-Suche    FAQ-ACAD    Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

erstellt am: 12. Mrz. 2009 18:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Makros und Co. sind nicht möglich; es muss "deppensicher" sein. Benutzer drückt einen Knopf - der Rechner erstellt die Protkolllisten (xls) - der Anwender macht Doppelklick auf XLS - fertig. Weder die digitale Verbreitung von Macros noch die Anwendung durch die Nutzer ist möglich.

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 12. Mrz. 2009 21:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Hi,

"deppensicher" -> ist es

"der Anwender macht Doppelklick auf XLS - fertig" -> ist auch erfüllt. (Die Makros sind in der Datei drin und damit hat der user damit nix mehr zu tun.)

"die Anwendung durch die Nutzer ist nicht möglich" -> er muß nichts anwenden, weil die im Automatic-Modus laufen (immer wenn geöffnet /aktiviert oder geschlossen/deaktiviert wird)

lediglich bei "der Rechner erstellt die Protkolllisten (xls)" mußt Du (nicht der Enduser) eingreifen: Der Rechner erstellt die Protokoll-Datei basierend auf einer Vorlage, in der die Makros schon drin sind.

"Weder die digitale Verbreitung von Macros [...] ist möglich." -> Ist das wirklich ein absolutes KO-Kriterium? Oder evtl. mal über eine "Zertifizierung" (Signatur) Deiner Makros nachdenken: Nur Deine Dateien, also mit Deinem Zertifikat sind ausführbar. (Beispiel: http://ww3.cad.de/foren/ubb/Forum226/HTML/000718.shtml  . Oder auch http://msdn.microsoft.com/en-us/library/aa190072(office.10).aspx  .)

Ich habe aber selber damit noch nicht gearbeitet und auch nicht weiter gesucht, das www ist aber groß und gibt dazu bestimmt noch was her. "Meine" user sind mittlerweile darauf getrimmt, meine Dateien zu akzeptieren d.h. die Makros bei denen (und nur bei denen) zu aktivieren.

Sorry, will auch nicht weiter drauf rumreiten, wenn's so wirklich nix für Dich ist, bin ich leider raus.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

erstellt am: 12. Mrz. 2009 23:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von runkelruebe:
...
"der Anwender macht Doppelklick auf XLS - fertig" -> ist auch erfüllt. (Die Makros sind in der Datei drin und damit hat der user damit nix mehr zu tun.)...


Wenn das so ist, dann ist es gut. Aber wie kriegt ich die Makros in das XLS? Das ist wie gesagt keine "echte XLS", sondern eine blanke tabulatorgetrennte Textdatei.

Kann man da die Macros als blanker Code mitgeben?

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 13. Mrz. 2009 11:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Code:
=HYPERLINK(INDIREKT("A"&ZEILE());"gehe zu "&INDIREKT("A"&ZEILE()))
Spalte A ist Fixiert, Zeile ist Relativ
HTHHope this helps (Hoffe, es hilft weiter)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 13. Mrz. 2009 11:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Moinsen,

T'schuldigung, ich hatte diese Einschränkung "Das ist wie gesagt keine "echte XLS", sondern eine blanke tabulatorgetrennte Textdatei." gestern so nicht gelesen.

Gehen geht es bestimmt irgendwie, aber da die Lösung von Thomas ja zielführender ist und zudem völlig auf Makros verzichten kann, spare ich mir jetzt weiteres Nachforschen und auswendig weiß ich sowas nicht.
Das mit Zeile() fiel mir gestern Abend (zu) spät noch ein, hatte mich da vorher einfach in der Idee verrannt  und heute morgen ist mir Deine AW nicht aufgefallen.
Aus einer Tankstellen-Werbung: Für alle die, die ohne Kaffee jemand anders sind 

SWE! 

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

erstellt am: 13. Mrz. 2009 11:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke an beide - die Lösung von Thomas werde ich mir am Montag anschauen.

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018 / 2023
BricsCAD 22

erstellt am: 13. Mrz. 2009 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Thomas Harmening:
Code:
=HYPERLINK(INDIREKT("A"&ZEILE());"gehe zu "&INDIREKT("A"&ZEILE()))
Spalte A ist Fixiert, Zeile ist Relativ
HTHHope this helps (Hoffe, es hilft weiter)


So, jetzt habe ich mal das Beispiel zum laufen gebracht (Achtung: im obigen Beispiel fehlt eine schliessende Klammer vor dem Semikolon), inkl. einer Linkbeschriftung namens "öffnen".
Code:
c:\Filme\DSC00001.JPG =HYPERLINK(INDIREKT("A"&ZEILE());"öffnen")
c:\Filme\DSC00002.JPG =HYPERLINK(INDIREKT("A"&ZEILE());"öffnen")


Aber: Wie kriege ich "A" (konkret: 1 Spalte links von der Formel; S(-1)) auch relativ hin?

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Ramel
Mitglied
Project Manager / Engineering


Sehen Sie sich das Profil von Thomas Ramel an!   Senden Sie eine Private Message an Thomas Ramel  Schreiben Sie einen Gästebucheintrag für Thomas Ramel

Beiträge: 55
Registriert: 31.01.2007

erstellt am: 13. Mrz. 2009 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

Grüezi Peter

Du kannst die INDIREKT()-Funktion auch mit der Z1S1-Schreibeiweise verwenden. Das hat dann keinen Einfluss darauf, welche Einstellung der User an seinem System vorgenommen hat:

Die folgende Formel bezieht sich immer auf die Zelle unmittelbar links (war voher: rechts) der Zelle in welcher sie selbst steht:

=HYPERLINK(INDIREKT("ZS(-1)";0);"gehe zu "&INDIREKT("ZS(-1)";0))


------------------
Mit freundlichen Grüssen

Thomas Ramel

[Diese Nachricht wurde von Thomas Ramel am 13. Mrz. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018 / 2023
BricsCAD 22

erstellt am: 13. Mrz. 2009 14:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Peter2:
...(Achtung: im obigen Beispiel fehlt eine schliessende Klammer vor dem Semikolon), inkl. einer Linkbeschriftung namens "öffnen"....

Da habe ich Quatsch behauptet - das Beispiel ist schon OK, ich habe das Semikolon falsch interpretiert.

Zitat:
Original erstellt von Thomas Ramel:
...Die folgende Formel bezieht sich immer auf die Zelle unmittelbar rechts der Zelle in welcher sie selbst steht:...

Bezieht sich nach Links, nicht nach rechts, oder?

Zitat:
Original erstellt von Thomas Ramel:
=HYPERLINK(INDIREKT("ZS(-1)";0);"gehe zu "&INDIREKT("ZS(-1)";0))

Genau das ist es - danke und schönes Wochenende.

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 13. Mrz. 2009 16:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter2 10 Unities + Antwort hilfreich

nur der vollständigkeit ,-)

Code:
=HYPERLINK(INDIREKT(ADRESSE(ZEILE();SPALTE()-1));"öffne "&INDIREKT(ADRESSE(ZEILE();SPALTE()-1)))

halt mit der nicht ZS - schreibweise ,)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz