Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
220to224
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
220to224
220to224
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile formatieren

Zeile formatieren
23.02.2003 01:12:22
Jörg
Hallo fleißige Helfer,

da ich von VBA wenig Ahnung habe, hoffe ich auf eure Hilfe.
Ich möchte über ein Makro (nicht bedingte Formatierung) die Schriftfarbe der ganzen Zeile ändern. Das Ganze sollte ungefähr so aussehen:
Wenn Wert in Zelle C20 = 1 dann Zeile Schriftfarbe Rot, wenn Wert in Zelle C20 = 2 dann Zeile Schriftfarbe Grün. Und das für Zeile 20 bis 300. Kann mir da jemand helfen?


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zeile formatieren
23.02.2003 01:28:23
PeterW

Hallo Jörg,

warum muss es VBA sein, wenn Du, wie Du sagst, davon wenig Ahnung hast? Wann soll die Farbänderung erfolgen, vermutlich bei Eingabe des Wertes? Wenn Du unbedingt eine VBA-Lösung willst geht das nicht mit "ungefähr so aussehen", dann wären schon genaue Bedingungen nötig. ;-)

Gruß
Peter

Re: Zeile formatieren
23.02.2003 01:41:02
Jörg

Hallo Peter,

ich importiere vorher über ein Makro 3 andere Tabellenblätter.
In Tabelle1 habe ich Formeln die direkt auf die anderen Tabellen zugreifen, was so eigentlich nicht funktioniert. Deshalb aktualisiere ich Tabelle1 ungefähr so Worksheets("Tabelle1").Range("A20:L320").NumberFormat = "General". Damit bekomme die Formeln (=Tabelle2!A20)wieder zum laufen. Leider geht dabei die bedingte Formatierung verloren. Da die Zeilen aber etwas klein sind möchte ich sie der Übersichtlichkeit wegen farblich nach Werten unterscheiden können.

Anzeige
Re: Zeile formatieren
23.02.2003 01:49:01
PeterW

Hallo Jörg,

ich habe den Verdacht, dass Du das nicht sauber gelöste Import-Makro durch Ergänzungen in eine für Dich nutzbare Form bringen willst. Versteh mich nicht falsch aber das kann nicht der Weg sein!
Geh mal einen Schritt zurück und poste das Makro, das die anderen Tabellen importiert - und warum es dann noch Formeln gibt, die direkt auf die anderen (welche anderen?) Tabellen zugreifen ist unverständlich.

Gruß
Peter

Re: Zeile formatieren
23.02.2003 01:56:30
Jörg

Hallo Peter,

das Makro
strDatei1 = Application.ActiveWorkbook.Name
a = Worksheets.Count
Set ds = Application.FileSearch
With ds
.LookIn = Application.ActiveWorkbook.Path
.Filename = "evn*.slk"
If .Execute > 0 Then
strDatei = Application.GetOpenFilename("EVN-Dateien (*.slk), *.slk")
Else
MsgBox "Es wurden keine Dateien vom Typ [evn*.slk] gefunden."
End If
End With

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open Filename:=strDatei

Sheets(1).Select
Sheets(1).Move After:=Workbooks(strDatei1).Sheets(a)
ActiveSheet.Name = "ENV"
Worksheets("ENV").Range("A6:M300").NumberFormat = "0"
Sheets("Tabelle1").Select

Application.ScreenUpdating = True
Application.DisplayAlerts = True

strDatei1 = Application.ActiveWorkbook.Name
a = Worksheets.Count
Set ds = Application.FileSearch
With ds
.LookIn = Application.ActiveWorkbook.Path
.Filename = "pos*.slk"
If .Execute > 0 Then
strDatei = Application.GetOpenFilename("POS-Dateien (*.slk), *.slk")
Else
MsgBox "Es wurden keine Dateien vom Typ [pos*.slk] gefunden."
End If
End With

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open Filename:=strDatei

Sheets(1).Select
Sheets(1).Move After:=Workbooks(strDatei1).Sheets(a)
ActiveSheet.Name = "POS"
Worksheets("POS").Range("A6:L30").NumberFormat = "General"
Sheets("Tabelle1").Select

Application.ScreenUpdating = True
Application.DisplayAlerts = True


strDatei1 = Application.ActiveWorkbook.Name
a = Worksheets.Count
Set ds = Application.FileSearch
With ds
.LookIn = Application.ActiveWorkbook.Path
.Filename = "rechnung*.slk"
If .Execute > 0 Then
strDatei = Application.GetOpenFilename("Rechnung-Dateien (*.slk), *.slk")
Else
MsgBox "Es wurden keine Dateien vom Typ [rechnung*.slk] gefunden."
End If
End With

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open Filename:=strDatei

Sheets(1).Select
Sheets(1).Move After:=Workbooks(strDatei1).Sheets(a)
ActiveSheet.Name = "Rechnung"
Worksheets("Rechnung").Range("A4:I10").NumberFormat = "General"
Sheets("Tabelle1").Select
Worksheets("Tabelle1").Range("A20:L320").NumberFormat = "General"
ActiveSheet.Name = Date

Application.ScreenUpdating = True
Application.DisplayAlerts = True

ActiveSheet.Shapes("CommandButton1").Select
Selection.Delete

Range("A20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C[1]"
Range("C20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C[1]"
Range("E20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("F20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("G20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("H20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("I20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("J20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("K20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("L20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("A20:L20").Select
Selection.AutoFill Destination:=Range("A20:L320"), Type:=xlFillDefault
Range("A20:L320").Select
ActiveWindow.SmallScroll Down:=-317
Range("A20").Select
Range("A20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C[1]"
Range("C20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C[1]"
Range("E20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("F20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("G20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("H20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("I20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("J20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("K20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("L20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C"
Range("A20:L20").Select
Selection.AutoFill Destination:=Range("A20:L320"), Type:=xlFillDefault
Range("A20:L320").Select
ActiveWindow.SmallScroll Down:=-317
Range("A20").Select

Range("E8:E9").Select
ActiveCell.FormulaR1C1 = "=POS!R[-2]C[5]"
Range("E10:E11").Select
ActiveCell.FormulaR1C1 = "=POS!R[17]C[5]"
Range("I17").Select
ActiveCell.FormulaR1C1 = "=Rechnung!R[-13]C[-1]"
Range("I18").Select

End Sub

In der Tabelle Rechnung werte ich die Daten von den anderen Tabellen aus.


Anzeige
Re: Zeile formatieren
23.02.2003 02:22:25
PeterW

Hallo Jörg,

zu dieser Tageszeit will ich mich mit dem Code nicht im Einzelnen befassen aber trotzdem die Frage: warum schreibst Du Formeln in die Zellen, beispielsweise
Range("J20").Select
ActiveCell.FormulaR1C1 = "=ENV!R[-14]C" ??

Das sieht aus wie der Code des Makrorekorders, der kann es leider nicht besser.
Als Ansatz für diese zwei Zeilen:
Cells(20, 10) = Sheets("ENV").Cells(6, 10)

Zumindest Teile (Spalte E bis L) lassen sich in einer Schleife abarbeiten:
Dim iCol as Integer
For iCol = 5 to 12
Cells(20, iCol) = Sheets("ENV").Cells(6, iCol)
Next

Gruß
Peter

Anzeige
Re: Zeile formatieren
23.02.2003 08:59:18
Jörg

Hallo Peter,

mir war´s dann auch zu spät.
Ja das war der Makrorecorder, wie schon geschrieben, ich habe wenig Ahnung von eigener Programmierung. Aber ich denke,das wird sich ändern. Danke erst einmal für deinen Lösungsweg. Ich habe leider Spätschicht, so bleibt mir nur wenig Zeit zum probieren.

Gruß Jörg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige