PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [vb] im excel bestimmte Zellen einfärben


jP
2004-03-22, 22:46:43
Hallo, ich habe ein in Borland C++ Programm geschrieben, daß den Druckerport ausliest und die Zustände von 3 PINs in ein Excel-Sheet exportiert. Ich habe also 3 Spalten in denen runterzus immer 8/6; 5/3; 2/0 steht.
Die Zahlen, damit ich ein Diagramm malen lassen kann, indem diese Zustände schön übereinander liegen.

Nun möchte ich im Excel die Zellen der Tabelle grau einfärben, die den Zustand 1 repräsentieren (also die mit der 8,5,2 drin).

Bis jetzt habe ich den code schnipsel ausgedacht:

For i = 0 To 1000
Range("B1" + i).Select
If ActiveCell.Value = 8 Then
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Next i

Wenn ichs ausführen will kommt der Fehler beim Kompilieren: "Next ohne For".. aber da ist doch ein for vorm next??
da ich vom C++ komme irritiert mich diese Syntax ohne ; und Klammern und ach. Die Hilfe-Funktion von dem Visual ist futsch und sowieso nervt mich das gerade alles tierisch, da das sicher wieder an so einfachen Sachen scheitert.
Kann mir einer von euch helfen?
Danke schonmal..
gruss
Jens

Xmas
2004-03-22, 23:02:33
Da fehlt ein end if.

jP
2004-03-22, 23:34:16
hei danke, stimmt..

gut jetzt kommt Laufzeitfehler 13: typen unverträglich..
If Range("B1" + i).Value = 8 Then
hab das i als integer deklariert. mag er wohl nicht zu dem B1 addieren.

Habs auch schon versucht mit cell(i,2)=8 und ähnlichen versucht, aber das mag er auch nicht..

Schossel
2004-03-23, 21:36:22
du kannst nich b1 + x addieren, das geht von den typen nicht. es gibt aber noch eine cells (oder so ähnlich) mit dene kannst du spalte und zeilen mit zahlen vergeben.

Beispiel
In diesem Beispiel wird die Schriftgröße der Zelle C5 in Sheet1 auf 14 Punkt festgelegt.

Worksheets("Sheet1").Cells(5, 3).Font.Size = 14

jP
2004-03-23, 23:56:54
ja..

das sähe dann so aus?:
For i = 0 To 1000
If (Worksheets("Tabelle1").Cells(i, 2).Value = 8) Then
usw..

Hab ich auch schon in ein paar Varianten durchprobiert..
Laufzeitfehler 1004

Schossel
2004-03-26, 17:02:26
ist i spalte oder zeile, blick bei deinem code da nicht so durch
sry

jP
2004-03-26, 18:55:43
Ich komme mit den Spalten Reihen sowieso immer durcheinandere..

Also nach unten hin stehen die einzelnen Messungen.
Also muß die Tabelle zeilenweise durchsucht werden.

Ist im Prinzip auch egal.. Weil es geht mir nur ums Prinzip.
Also wie ich in dieser selstamen Sprache dem Excel sage, daß es von Zeile 0 bis 1000 die jeweilige Zelle nach einer 8(Spalte B),5(Spalte C),2(Spalte D) durchforstet und mir dieses Zellen grau anpinselt..

Wenn es jemand wirklich interessiert kann ich ihm eine solche Beispieltabelle schicken. Dann seht ihr auch gleich wie ein Opel Autoradio mit dem Display redet ;)

gruss
Jens