excel loop: count rows && delete row if

altabq

Registriert
Thread Starter
Dabei seit
01.02.2012
Beiträge
3
Reaktionspunkte
0
moin,

wiedermal excel: Ich versuche ein kurzes script zu schreiben um Reihen die text enthalten zu zählen. Also, das applescript Äquivalent zu =COUNTA(foobar)

Nach viel rumgefrickel, bin ich an folgendem code angelangt:

Code:
set rowcount to 0

tell application "Microsoft Excel"
	select worksheet "species"
	repeat with i from 1 to 20
		set stuff to get value of cell ("A" & i) as text
		try
			if stuff contains "a" or "e" or "i" or "u" or "o" then
				set rowcount to (rowcount + 1)
			end if
		end try
	end repeat
	
	display dialog rowcount ##test
	
end tell

Darauf folgend möchte ich die Reihen löschen, die keine Zahl enthalten (in meinem Datensatz, enthalten sie "...". Dafür hatte ich mir folgendes gedacht:

Code:
tell application "Microsoft Excel"
	select worksheet "species"
	repeat with i from 1 to rowcount
		set stuff to get value of cell ("BL" & i) as text
		try
			if stuff contains "..." then
			delete row
			end if
		end try
	end repeat
	
end tell

Da der erste code nicht funktioniert, funktioniert der zweite natürlich auch nicht. Würde mich sehr freuen wenn mir jemand helfen könnte den korrekten Code auszutüfteln. Finde via Google leider nichts entsprechendes.

Bitte, danke
 
Dein Fehler liegt in der if Abfrage. "or" verknüpft immer 2 Bedingungen, "e" und "i" sind aber keine Bedingungen, sondern einfache strings. Korrekt muss es daher heissen:

if stuff contains "a" or stuff contains "e" or stuff contains "i" or stuff contains "u" or stuff contains "o" then
 
Zurück
Oben Unten