INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.01.2017, 08:51
Beitrag #1

Tuvok Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Feb 2008

6.1 bis 2014
2006
DE_EN

64
Deutschland
Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo

Ich habe mir aus verschiedenen ActiveX-VIs ein eigenes erstellt das folgende Aufgabe hat:

(Zunächst: Dieses VI läuft in einer Schleife, in der mit dem Report Generation Toolkit die Worksheets einer Excel-Datei durchgelaufen werden. In dieser SchleifeSmile

1.) Bestimme die letzte Zeile und die letzte Spalte des aktiven Excel-Worksheets
2.) Lese die Formeln jeder Zelle in dem Bereich von 0,0 bis zur letzten Spalte/Zeile aus und gebe diese aus.

Leider funktioniert es nicht, denn es werden nur die Formeln im Bereiche des ersten Worksheets ausgegeben. Beim zweiten Worksheet stimmt die Angabe der letzten Spalte/Zeile also nicht, sondern sind die Werte aus dem ersten Worksheet.
Das seltsame ist allerdings: Wenn ich nur den ersten Teil (letzte Spalte/Zeile) aus der Schleife in ein Array ausgeben lasse stehen dort für jeden Schleifendurchlauf die richtigen Werte der letzten Spalte/Zeile drin. Auch die Sonde innerhalb des VIs zeigt mir die richtigen Werte an.

Wenn ich den zweiten Teil mit den Formeln verwende, funktioniert auch dieser, wenn ich z.B. zwei feste Konstanten an den Eingang vorgebe. Ich kann einfach nicht verstehen, warum es in der Kombination nicht funktioniert?

Im Anhang ist ein Bild des VIs

Viele Grüße,
Tuvok


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2017, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2017 10:27 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo Tuvok,

Zitat:Leider funktioniert es nicht, denn es werden nur die Formeln im Bereiche des ersten Worksheets ausgegeben.
Laut deiner eigenen Beschreibung liest du den ActiveRange des ActiveSheets - und das scheint das erste Sheet in deinem Workbook zu sein.
Leider ist nirgends zu sehen, ob/wie du das ActiveSheet änderst!

Von Aufräumen hälst du nicht viel, oder? Wink

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2017, 15:37
Beitrag #3

Tuvok Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Feb 2008

6.1 bis 2014
2006
DE_EN

64
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Aufräumen?Rolleyes

Zum besseren Verständnis habe ich die Beispiele angehängt

Grüße,
Tuvok


Angehängte Datei(en) Thumbnail(s)
       

13.0 .vi  So klappt es nicht.vi (Größe: 28,39 KB / Downloads: 401)

13.0 .vi  So klappt es.vi (Größe: 28,49 KB / Downloads: 478)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2017, 16:19 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2017 16:21 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo Tuvok,

Profil_ergaenzen, wenn du jetzt mit LV2013 arbeitest!

Leider fehlt noch dein subVI!

Zitat:Aufräumen?
Ja! Einfach Ctrl-U drücken!

- Warum InsertIntoArray und ein Schieberegister? Warum nicht einfach Autoindizierung am Schleifenrand?
- Problem: In einem LabVIEW-3D-Array sind alle Seiten (=Sheets) gleich groß! Dein 3D-Array wird demnach die Größe deines größten Sheets zum Schluss haben! Wenn du das nicht willst, musst du ein Array of Cluster of 2D-Array erstellen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2017, 16:32
Beitrag #5

Tuvok Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Feb 2008

6.1 bis 2014
2006
DE_EN

64
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo GerdW

Danke für die bisherigen Rückmeldungen.
Dass das 3D Array unterschiedlichen Größen hat ist ok. Das habe ich berücksichtigt. Da manche Excel-Dateien teilweise sehr viele Worksheets haben, mache ich das lieber über ein großes 3D Array, als über viele 2D-Arrays. Das 3D-Array ist quasie mein Speicherinhalt.

Ja, die Autoindizierung für das 3D-Array ist besser! Danke! Ist historisch gewachsen!

Hier die SubVIs (inklusive Bild) Das Bild des anderen SubVIs ist bereits oben dargestellt.

Fragt sich noch warum die Kombination aus Bestimmung der letzten Zeile/Spalte und auslesen der Formeln nicht klappt.

Viele Grüße,
Tuvok


Angehängte Datei(en) Thumbnail(s)
   

13.0 .vi  Get last_row_column_Get Formula.vi (Größe: 22,83 KB / Downloads: 477)

13.0 .vi  Read Excel Table with Formula.vi (Größe: 18,27 KB / Downloads: 423)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2017, 16:39 (Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2017 16:39 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo Tuvok,

Zitat:Fragt sich noch warum die Kombination aus Bestimmung der letzten Zeile/Spalte und auslesen der Formeln nicht klappt.
Erst holst du dir vom ActiveSheet den benutzten Bereich. Dann schließt du alles, inkl. des Sheets.
Dann liest du von der Application einen Range ein!?
Warum liest du nicht vom schon geöffneten Worksheet einfach den gewünschten Bereich???

Zitat:Da manche Excel-Dateien teilweise sehr viele Worksheets haben, mache ich das lieber über ein großes 3D Array, als über viele 2D-Arrays. Das 3D-Array ist quasie mein Speicherinhalt.
Dann hast du nur das Problem, dass ein 3D-Array mehr zusammenhängenden freien Speicher benötigt als ein Array of Cluster of 2D-Array!
Und wenn deine Worksheets sehr unterschiedliche Größen haben, verbraucht ein 3D-Array auch noch jede Menge Speicher, da LabVIEW alle Seiten gleich groß macht - so groß wie die größte Seite!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.01.2017, 12:30
Beitrag #7

Tuvok Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Feb 2008

6.1 bis 2014
2006
DE_EN

64
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo GerdW

Danke schon mal.

Ok, ich werde mal schauen wie ich das machen kann. Wie eingangs erwähnt, handelt es sich bei dem VI um eine Kombination aus zwei VIs, die jeweils für sich funktionieren, aber nicht zusammen, was ich um Moment noch nicht verstehen kann. Auch wenn ich das Sheet schließe ist die Info der letzten Zeile/Spalte verfügbar und das Auslesen der Formeln funktionier ja auch. Also gelöst ist das noch nicht.

Ja, ein bisschen Speicher kann ich mit einem Cluster von 2D-Arrays einsparen, aber das bisschen ist es nicht wert. Trotzdem werde ich es mir mal aus Spaß anschauen.

Viele Grüße,
Tuvok
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.01.2017, 12:42
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo Tuvok,

warum machst du das nicht wie in VBA auch:
Code:
Workbook öffnen
   Worksheet selektieren/öffnen
      Range im Sheet bestimmen
      Range lesen
   Worksheet schließen
Workbook schließen
(jede Einrückung kennzeichnet eine Schleife.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2017, 13:05
Beitrag #9

Tuvok Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Feb 2008

6.1 bis 2014
2006
DE_EN

64
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo GerdW

Danke schon mal für die Kommentare.
Worauf beziehen sich diese? Auf das SubVI? Da mache ich das doch gerade (bis auch die Schleifen, ich muss es im Sub-VI ja nur einmal ausführen). Und was ist dann mit dem Auslesen der Formeln? Das hast Du nicht erwähnt.

Wenn Du Dich auf das VI beziehst, indem dies ausgeführt werden muss, muss ich ja noch all die anderen Funktionalitäten berücksichtigen. Dann sind Deine Angaben etwas zu dürftig?
Was meinst Du?

Viele Grüße,
Tuvok
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2017, 18:25 (Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2017 19:14 von Tuvok.)
Beitrag #10

Tuvok Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Feb 2008

6.1 bis 2014
2006
DE_EN

64
Deutschland
RE: Aus Excel Letzte Zeile und Letzte Spalte auslesen und Formeln ausgeben
Hallo

Ich habe das Problem gelöst. Im Grunde hatte es nichts mit dem Report Generation Toolkit oder ActiveX zu tun, sondern daran dass das 3D-Array gar nicht vergrößert wird, wenn etwas auf der nächsten Seite (Page) eingefügt wird, sondern die Größe von der ersten Seite beibehalten wird.
Mit Clustern zu arbeiten mag ich nicht besonders und geht hier auch nicht, da es bei Clustern wesentlich schwieriger ist automatisch zu initiieren usw.
Aber die Lösung ist hier (ganz einfach und wie von GerdW schon angegemerkt) nicht in die Schleife über das Schieberegister einzufügen, sondern das 3D-Array einfach autoindizieren zu lassen (siehe Bild)

Viele Grüße,
Tuvok


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Excel xlsx auslesen ohne zu öffnen Reiling 8 12.977 06.08.2018 06:40
Letzter Beitrag: MaxP
Wink Excel auslesen seitzo 1 5.276 18.01.2012 16:34
Letzter Beitrag: GerdW
  Messwerte in Excel schreiben und als Diagramm ausgeben DominikK 7 12.119 07.03.2008 21:17
Letzter Beitrag: altissimus

Gehe zu: