Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Visual Basic Problem in Excel (https://www.delphipraxis.net/122692-visual-basic-problem-excel.html)

STS301 20. Okt 2008 18:22


Visual Basic Problem in Excel
 
hi

ich sollte leider ein Programm in Excel in Visual Basic schreiben. Es gibt einen Button der Aus einer Spalte etwas herausnimmt und in einer anderen hinzufügt, nur wenn ich das Programm ausführen will, sagt er mir" Laufzeitfehler: '13', Typen unverträglich"
Code:
Private Sub work1_Click()
Dim i As Integer

[C2] = "=TEIL(A2;FINDEN(" - ";A2);2)"
[C3].Formaula = "=TEIL(A2;FINDEN(" - ";A2);2)"

i = 2
Do While Int(Cells(i, 3)) >= 0
Range(Cells(i, 3), Cells(i + 1, 3)).Select
Selection.FillDown
i = i + 1
Loop
End Sub
er streicht mir dabei die [C2] Zeile an, wenn ich diese jedoch lösche, kreidet er mir die [C3] Zeile im Editor an.

Ich verstehe den Debugger nicht

Wäre trotzdem nett wenn mir wer von euch helfen könnte

Morphie 20. Okt 2008 18:33

Re: Visual Basic Problem in Excel
 
Liegt einfach daran, dass beide Zeilen falsch sind ;)

es müsste heißen:
Code:
"=TEIL(A2;FINDEN("" - "";A2);2)"
jedoch hast du dann auch n fehler, aber das ist ein anderes thema ;)

STS301 20. Okt 2008 18:37

Re: Visual Basic Problem in Excel
 
du meist die Gliederung?

jetzt sagt er mir: Laufzeitfehler "1004", Amwendungs- oder objektorientierter Fehler

Morphie 20. Okt 2008 18:39

Re: Visual Basic Problem in Excel
 
Ja, das sagt er zu mir auch ;)
Aber ich konnte dir nur bei der Syntax helfen, mit Makroprogrammierungen kenn ich mich nicht aus.

Reinhardtinho 20. Okt 2008 18:54

Re: Visual Basic Problem in Excel
 
Heißt es nicht "Formula"?

STS301 20. Okt 2008 20:23

Re: Visual Basic Problem in Excel
 
:wall: :wall:

Reinhardtinho 20. Okt 2008 20:38

Re: Visual Basic Problem in Excel
 
:zwinker:

STS301 20. Okt 2008 21:35

Re: Visual Basic Problem in Excel
 
war aber nicht ausschlaggebend, der Fehler ist immer noch vorhanden

Amateurprofi 20. Okt 2008 23:58

Re: Visual Basic Problem in Excel
 
Versuch es mal

entweder mit
[C3].FormulaLocal = "=TEIL(A2,FINDEN("" - "",A2),2)"

oder mit
[C3].Formula = "=Mid(A2,Find("" - "",A2),2)"

STS301 21. Okt 2008 18:41

Re: Visual Basic Problem in Excel
 
bringt sich auch nichts

Chemiker 21. Okt 2008 20:21

Re: Visual Basic Problem in Excel
 
Hallo,

darf ich mal Fragen was [C3] und [C2] sein soll?

Bis bald Chemiker

Amateurprofi 21. Okt 2008 22:29

Re: Visual Basic Problem in Excel
 
@STS301:
Die Formel =TEIL(A2,FINDEN(" - ",A2),2) bewirkt, daß in einem in A2 stehenden String die Position des Strings " - " (also Blank, gefolgt von Minuszeichen, gefolgt von Blank) gesucht wird, und zwei Zeichen (ab der Fundstelle) aus dem String zurückgegeben werden.
Vorausgesetzt, daß in A2 ein String steht der den Teilstring " - " enthält, wird also ein " -" (Blank, gefolgt von Minuszeichen) zurückgegeben.
[C3].FormulaLocal = "=TEIL(A2,FINDEN("" - "",A2),2)"
macht (bei mir) genau das oben beschriebene.
Kann sein, du hast als Listentrennzeichen nicht Komma sondern Semikolon eingestellt ? Eventuell müßtest du dann die Kommas durch Semikolons ersetzen.
Kann es weiter sein, daß du eine ganz andere Erwartung hattest, was die Formel macht ?

@Chemiker:
[C3] ist eine andere Schreibweise von Range("C3")

STS301 23. Okt 2008 16:45

Re: Visual Basic Problem in Excel
 
:gruebel:

eigentlich nicht :gruebel:

das ist mein jetziger Code
Code:
[C3].FormulaLocal = "=TEIL(A2,FINDEN(" - ",A2),1)"
und das ist der Zeileninhalt

21 81 237 4 237-9

von dem soll er mir nur die 9 ausgeben

Amateurprofi 24. Okt 2008 17:39

Re: Visual Basic Problem in Excel
 
Zitat:

Zitat von STS301
:gruebel:

eigentlich nicht :gruebel:

das ist mein jetziger Code
Code:
[C3].FormulaLocal = "=TEIL(A2,FINDEN(" - ",A2),1)"
und das ist der Zeileninhalt

21 81 237 4 237-9

von dem soll er mir nur die 9 ausgeben

Und wie soll das funktionieren ?
Du suchst in dem String "21 81 237 4 237-9" den String " - " (Ein Blank, gefolgt von einem Minuszeichen, gefolgt von einem Blank).
Der wird nicht gefunden (weil er im zu durchsuchenden Text nicht enthalten ist).
Vielleicht solltest du nach etwas suchen, was im Text enthalten ist, zum Beispiel ein Minuszeichen ohne Blank davor und dahinter.
Übrigens : Die Prüfziffer 9 ist korrekt.

EWeiss 24. Okt 2008 17:44

Re: Visual Basic Problem in Excel
 
Zitat:

Zitat von Amateurprofi
Zitat:

Zitat von STS301
:gruebel:

eigentlich nicht :gruebel:

das ist mein jetziger Code
Code:
[C3].FormulaLocal = "=TEIL(A2,FINDEN(" - ",A2),1)"
und das ist der Zeileninhalt

21 81 237 4 237-9

von dem soll er mir nur die 9 ausgeben

Und wie soll das funktionieren ?
Du suchst in dem String "21 81 237 4 237-9" den String " - " (Ein Blank, gefolgt von einem Minuszeichen, gefolgt von einem Blank).
Der wird nicht gefunden (weil er im zu durchsuchenden Text nicht enthalten ist).
Vielleicht solltest du nach etwas suchen, was im Text enthalten ist, zum Beispiel ein Minuszeichen ohne Blank davor und dahinter.
Übrigens : Die Prüfziffer 9 ist korrekt.

Ah jo er könnte den String Trimen dann gehts
Wäre allerdings sinnvoll den gesuchten String direkt nach realen werten zu durchsuchen.

gruss Emil


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 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 by Thomas Breitkreuz