Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBS in Excel

VBS in Excel
Falco
Liebes Forum,
ich habe ein scheinbar sehr spezielles Problem.
Zur Bearbeitung eines Excel-Sheets, schreibe ich in einem anderen Statistikprogramm einen VBS Code.
Der VBS Code sieht dann bspw. so aus:
For x = 2 To 5 Step 1
XL.Range("B"&x).Select XL.Selection.FormatConditions.Add xlExpression, , "=WENN(IsEmpty(B"&x&");1;0)" XL.Selection.FormatConditions(1).Interior.Color = RGB(255, 190, 0)
Next
Dieses funktioniert auch nach langem basteln.
Allerdings scheitere ich dann bspw. an folgendem Befehl:
XL.Sheets("SUM_VERGL").move After:=Sheets(1)
Oder an einer If Bedingung in obiger Schleife!
Meine Frage ist also, was kann ich tuen, damit Befehle die direkt im Excel Visual Basic Editor funktionieren, auch über VBS in Excel ohne Fehlermeldung ausgeführt werden können.
Grüße und besten Dank im vorraus
Falco

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBS in Excel
04.02.2010 16:32:25
Josef
Hallo Falco,

da musst du natürlich immer genau referenzieren.
Also in etwa so.
XL.Sheets("SUM_VERGL").move After:=XL.Sheets(1)

Gruß Sepp

OT VBS
04.02.2010 16:40:24
Reinhard
Hallo Sepp,
kennst du gute Seiten zu VBS?
Es ist recht mühsam für mich VBS durch learning by doing zu erforschen indem ich VBA-Code probiere und dann rätsle warum der nicht klappt:-(
Eine Entwicklungsumgebung für VBS wäre natürlich ideal wo ich in die Hilfe schauen könnte.
Gruß
Reinhard
Anzeige
OT: VBScript Editor
04.02.2010 16:50:46
NoNet
Hallo Reinhard,
ich verwende für solche Zwecke den "kostenlosen" (Evaluierungsversion) VBSEdit, der eine ganze Menge vorgefertigter "Code-Snippets" zu den unterschiedlichsten Themen enthält, aus denen man alleine durch Anschauen viel lernen kann :
http://www.v b sedit.com (bitte Leerzeichen zwischen v b s entfernen - die Herber-Software lässt mich den Link nicht posten !)
Gruß, NoNet
AW: OT: VBScript Editor
05.02.2010 16:47:36
Reinhard
Hallo NoNet,
danke, ich habe es installiert, muß mal die beispiele durchackern.
Gruß
Reinhard
AW: VBS in Excel
04.02.2010 16:46:56
Falco
Danke Sepp für die Idee,
aber leider funktioniert das bei mir zumindestens nicht. Denn das XL.... am Anfang sagt VBS ja nur, dass es die Zeile in Excel ausführen soll und somit wäre es meiner Meinung nach nicht sinnig zu versuchen VBS dieses noch einmal zu sagen, oder?
Aber trotzdem besten Dank für Deine Reaktion!
Anzeige
XL.Sheets gibt an, dass es sich um ein XL-Objekt
04.02.2010 17:03:17
NoNet
...handelt !
Hallo Falco,
Deine Vermutung ist FALSCH : Das XL."sagt" VBS nicht, dass die Zeile in Excel ausführen soll, sondern damit referenziert man aus einer "Fremden" Anwendung die XL-Objekte !
Sheets() kennt VBS nicht, daher teilt man VBS mit, dass es sich um ein XL-Objekt handelt : XL.Sheets()
Der Fehler in Josefs Codezeile liegt darin, dass VBS die benannten Parameter (hier: after:=) nicht kennt. Stattdessen muss man die Parameter in der Excel VBA-Standard-Reihenfolge ohne den Parameternamen angeben, dann funktioniert das :
Vor dem Parameter "After:=" gibt es in VBA noch den Parameter "Before:=", den lässt man weg und kennzeichnet mit dem Komma, dass es sich bei XL.Sheets(1) bereits um den nächsten (2.) Parameter der MOVE-Methode handelt :
XL.Sheets("SUM_VERGL").move ,XL.Sheets(1)
Gruß, NoNet
Anzeige
AW: VBS in Excel
04.02.2010 16:56:29
Luschi
Hallo Falco,
das Verschieben von Tabellen funktioniert in diesem Fall so:
XL.Sheets("SUM_VERGL").Move ,XL.Sheets(1)
wobei das Komma wichtig ist. In VBS kann man keine benannten Parameter angeben, sondern muß die Parameter durch entsprechende Anzahl von Komatas ersetzen. Da Move 2 Parameter hat, wird der 1. Parameter (Before) weggelassen und der 2. Parameter übergeben.
Was Du mit der If-Schleife meinst, mußt Du noch mal konkretisieren.
Gruß von Luschi
aus klein-Paris
AW: VBS in Excel
04.02.2010 17:24:22
Falco
Hallo Luschi,
ich bin schwer beeinruckt von Deiner Kompetenten Hilfe und zu tiefsten Dank verpflichtet. Da ich ein wenig verzweifelt bin, erdreiste ich mich auch die bereits angesprochene Schleife zur Diskussion zu stellen! Könntest Du mir sogar die tiefer dahinter liegende Logik erklären die hinter der Anwendung von VBA in VBS liegt!
Wie gesagt, schon jetzt grössten Dank
Falco
XL.Range("C2").Select
For i = 3 To 20 Step 1
If Not (IsEmpty(ActiveCell)) Then
'XL.Range("C" & i).Select
'ElseIf IsEmpty(ActiveCell) Then
Exit For
End If
Next
Anzeige
AW: VBS in Excel
04.02.2010 20:09:15
Ramses
Hallo
Ich denke die Schleife müsste so lauten
For i = 3 To 20 Step 1
If XL.Cells(i, 1) "" Then
'Was kommt nun ?
Exit For
End If
Next i
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige