Zelleninhalt der selektierten Zellen auslesen

Fehlerberichte, Hilfe und Anregungen zu BasicMaker 2018 für Windows

Moderator: SoftMaker Team

Antworten
andi4
Beiträge: 7
Registriert: 03.04.2017 13:00:35

Zelleninhalt der selektierten Zellen auslesen

Beitrag von andi4 » 11.01.2018 07:20:40

Hi,

ich möchte gerne den Zelleninhalt der selektierten Zellen auslesen.

Versucht habe ich es mit
pm.ActiveSheet.Selection.Item(1, 1)
pm.ActiveSheet.Selection.Item(2, 1)
pm.ActiveSheet.Selection.Item(3, 1)
- Angenommen ich habe zwei Zellen C1 und C2 markiert, dann liefert Item(3, 1) den Wert von C3 zurück, obwohl dieser nicht markiert ist.

- Ein Befehl for each funktionert leider auch nicht.

- Ein weiteres Problem: wenn die selektierten Zellen nicht zusammenhängen, dann bekomme ich die Fehlermeldung:
Invalid procedure call or argument


.

Dewes
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 1846
Registriert: 06.02.2007 14:01:47

Re: Zelleninhalt der selektierten Zellen auslesen

Beitrag von Dewes » 11.01.2018 09:30:25

versuche es mal mit

Code: Alles auswählen

pm.ActiveSheet.Selection(1, 1).Value
Damit wird der Inhalt der Zelle ausgelesen, in der der Cursor steht. Wenn du statt 1 eine Variable nimmst, die weiter zählt, können mehrere Zellen bis zu einer selbst festgelegten Grenze ausgelesen werden.
Ein Befehl for each funktionert leider auch nicht.
Doch, sieh mal in der Hilfe unter "Anweisungen und Funktionen" nach

Unter "Kontrollstrukturen" findest du alle sonstigen möglichen Schleifen.

andi4
Beiträge: 7
Registriert: 03.04.2017 13:00:35

Re: Zelleninhalt der selektierten Zellen auslesen

Beitrag von andi4 » 11.01.2018 14:34:16

Natürlich habe ich ein Variable genommen, aber er liest nicht die selektierten Zellen sondern nimmt einfach den Offset der ersten selektierten Zelle.

Nein For Each funktioniert nicht, wenn die selektierten Zellen nicht zusammenhängen.

Dewes
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 1846
Registriert: 06.02.2007 14:01:47

Re: Zelleninhalt der selektierten Zellen auslesen

Beitrag von Dewes » 11.01.2018 18:36:25

Kleines Beispiel, habe in einer Tabelle die Zahl 1-10 eingegeben, hier das Script

Code: Alles auswählen

Dim pm as Object
dim  i as integer
Set pm = CreateObject("PlanMaker.Application")  ' Verbindung aufbauen
pm.Application.Visible = True
 
i = 1

DO while i < 10

print pm.ActiveSheet.Selection(i, 1).Value 
i = i + 1

loop
hier die Ausgabe
1
2
3
4
5
6
7
8
9
Programm erfolgreich abgeschlossen.
d.h. die Ausgabe liefert die gewünschten Werte. Falls du noch Probleme hast, wäre es am einfachsten, wenn du den Code hier einstellen würdest, dann kann man besser testen.

Zu For each kann ich so nichts sagen manngels Erfahrung, ich benutze andere Schleifen.

klaus314
Beiträge: 6
Registriert: 16.12.2017 20:39:00

Re: Zelleninhalt der selektierten Zellen auslesen

Beitrag von klaus314 » 13.01.2018 23:18:38

Nein das geht nicht, wenn die selektierten Zellen isoliert sind, dann gibt es folgende Fehlermeldung:

Unbenannt 1 : Error in line: 10 - Invalid procedure call or argument

Siehe Bild
Dateianhänge
PlanMaker.png
PlanMaker.png (58.05 KiB) 51 mal betrachtet

Dewes
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 1846
Registriert: 06.02.2007 14:01:47

Re: Zelleninhalt der selektierten Zellen auslesen

Beitrag von Dewes » 14.01.2018 10:04:11

wenn die selektierten Zellen isoliert sind
was verstehst du in diesem Zusammenhang unter "isoliert"

Aufgrund fehlender Informationen bin ich davon ausgegangen, dass vertikal ausgelesen werden soll. Selbstversständlich geht das auch horizontal und auch in Sprüngen.

Anbei ein neues Script, das die Tabelle deines Beispiels ausliest. Der Cursor sollte dann auf B2 stehen. Man kann auch eine Abfrage einbauen, ab welcher Zelle das Script starten soll, aber dann wird das Script umfangreicher.

Code: Alles auswählen

im pm as Object
Set pm = CreateObject("PlanMaker.Application")  ' Verbindung aufbauen
pm.Application.Visible = True

spalte = pm.ActiveSheet.Selection.Column
zeile = pm.ActiveSheet.Selection.row

DO while spalte < 10
print   pm.ActiveSheet.Cells.Item(zeile,spalte).Value 
spalte = spalte + 2
loop

klaus314
Beiträge: 6
Registriert: 16.12.2017 20:39:00

Re: Zelleninhalt der selektierten Zellen auslesen

Beitrag von klaus314 » 16.01.2018 08:37:52

> was verstehst du in diesem Zusammenhang unter "isoliert"

Schau dir doch einfach das Bild an, was ich gepostet habe, dort siehst du drei selektierte Zellen (diese werden blau markiert), die nicht verbunden sind.
Übrigens es gibt keinen Grund wieso diese drei (oder beliebig viele) selektierten Zellen in einer Zeile oder in einer Rehe stehen sollten.
Zelle 1 kann also z.B. D4
Zelle 2 kann also z.B. F8
Zelle 3 kann also z.B. E20 sein, usw

Antworten

Zurück zu „BasicMaker 2018 für Windows“