![]() |
Excel - Zellenabfrage
Guten Abend Delphi-Praxis-Community,
ich brauche Eure Hilfe bei dem folgendem Problem: Ich möchte eine Komma-Zahl in eine Excel-Tabelle speichern, dafür geht das Programm an eine bestimmte Stelle in der Excel-Tabelle und beginnt von da aus in y-Richtung nach einer freien Zelle zu suchen. Mein Code sieht so aus (es geht bestimmt eleganter, aber ...):
Delphi-Quellcode:
Das Problem ist, dass ich folgende Fehlermeldung bekomme, da die Zellen mit den Zahlen gefüllt sind: Could not convert variant of type (UnicodeString) into type (Double). -> deswegen muss ich das (excel.Cells[row, column].Value) vorher noch umwandeln?
row := 4; // y
column := 3; // x x := 1; while NOT(x = 0) do begin if ((excel.Cells[row, column].Value) = '') then begin x := 0; end else begin row := row + 1; end; end; Liebe Grüße. |
Re: Excel - Zellenabfrage
Wenn ich richtig liege, prüft der Code ob es ein leerer String ist. Vielleicht solltest du prüfen ob eine Zahl enthalten ist. Alternativ kannst du vielleicht noch die Länge des zurück gegebenen Strings prüfen (mittels Length())
|
Re: Excel - Zellenabfrage
Hallo,
habe mir die Mühe gemacht und auf Delphi-Praxis nach <excel zelle leer> gesucht. Unter anderem wurde ein Beitrag mit dem Titel <Leere Excel-Zelle> gefunden. Der schaut ganz gut aus und dürfte die Lösung für dein Problem bieten. LG |
Re: Excel - Zellenabfrage
Zitat:
Danach möchte ich auf HiWieGehts eingehen: Die Boardsuche habe ich zwar auch benutzt, aber wohl einen unpassenderen Begriff genommen ... nachdem ich deinen Begriff benutzt habe, habe ich folgendes gefunden: Zitat:
:dp:
Delphi-Quellcode:
So sieht es dann jetzt aus :)
if Length(Excel.cells[row,column]) = 0 then
Liebe Grüße. (jetzt eine Runde joggen gehen und danach weiter arbeiten :)) |
Re: Excel - Zellenabfrage
Hallo!
Zitat:
Delphi-Quellcode:
if Excel.cells[i,j].value = '' then
|
Re: Excel - Zellenabfrage
Zitat:
Zitat:
Die Überprüfung anhand der Länge ist besser und mein (kleines) Programm klappt auch :). :dp: |
Re: Excel - Zellenabfrage
Hallo,
Excel.cells[i,j].value ist hier vom Typ OleVariant. Was liegt da näher als eine Umwandlung in einen String und anschließende Prüfung auf ''
Delphi-Quellcode:
geht immer
if VarToStr(Excel.cells[i,j].value) = '' then
|
Re: Excel - Zellenabfrage
Zitat:
:dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz