Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

case

case
05.08.2007 20:47:09
Kocky
hallo excel profis,
ich habe ein workbook,in diesem schreibe ich per UF daten in ein sheet. hierbei kommt es mir für die auswertung auf spalte "D" an. in dieser stehen Daten in der Form von workgroup 0 bis workgroup 3+. Bis lang wandele ich diese im sheet anhand von "wenn" abfragen um.
Beispiel:
=WENN(D2= "ohne Workgroup";0;WENN(D2= "Workgroup 0";0,125;WENN(D2= "Workgroup 1";0,25; WENN(D2= "Workgroup 2";0,4;WENN(D2= "Workgroup 3";0,556;WENN(D2= "Workgroup 3+";0,556;""))))))
Da dies sehr zeitintensiv ist und dadurchdas speichern und öffnen extrem lange dauert, ist meine frage ob ich dies auch mit einem code und der select case anweisung bewerkstelligen kann?
Für Hilfe wäre ich dankbar
Gruß Kocky

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: case
05.08.2007 22:24:00
Oberschlumpf
Hi
Vielleicht so?
Schreib ins Worksheet_Change-Ereignis diesen Code:
(ohne die ganz erste und ganz letzte Zeile)

Private Sub Worksheet_Change(ByVal Target As Range)
'für "Blattname" musst du DEN Tabellenblattnamen eintragen,
'in dem deine Auswertung stattfinden soll
'du hast zwar die Formel geschrieben, aber welche Spalte
'ist "DeineSpalte", in der die Formel steht?
With ThisWorkbook.Sheets("Blattname")
If Target.Column = 4 Then
Select Case Target.Value
Case "ohne Workgroup"
.Range("DeineSpalte" & Target.Row).Value = 0
Case "Workgroup 0"
.Range("DeineSpalte" & Target.Row).Value = 0.125
Case "Workgroup 1"
.Range("DeineSpalte" & Target.Row).Value = 0.25
Case "Workgroup 2"
.Range("DeineSpalte" & Target.Row).Value = 0.4
Case "Workgroup 3"
.Range("DeineSpalte" & Target.Row).Value = 0.556
End Select
End If
End With
End Sub


Hilft das?
Sollten Fehler auftreten, bitte Fehlernr., Fehlermeldung und die Codezeile, in der der Fehler auftritt, hier posten
Ciao
Oberschlumpf

Anzeige
AW: case
05.08.2007 22:28:00
Chaos
Servus,
z.B.so:

Sub wenn()
Select Case Range("D2").Value
Case "ohne Workgroup":
Range("Ziel").Value = 0
Case "Workgroup 0":
Range("Ziel").Value = 0,125
Case "Workgroup1":
Range("Ziel").Value = 0,25
Case "Workgroup2":
Range("Ziel").Value = 0, 4
u.s.w.
End Select
End Sub


gilt jetzt aber nur für D2, für die ganze Spalte dann eben eine Schleife


Sub wenn()
Dim z As Integer, r As Integer
r = Range("D65536").End(xlUp).Offset(0, 0).Row
For z = 2 To r Step 1
Select Case Cells(z, 4).Value
Case "ohne Workgroup":
Range("Ziel").Value = 0 ' Ziel ist der Zielort z.B. B2
Case "Workgroup 0":
Range("Ziel").Value = 0,125
Case "Workgroup1":
Range("Ziel").Value = 0,25
Case "Workgroup2":
Range("Ziel").Value = 0, 4
u.s.w.
End Select
Next z
End Sub


Gruß
Chaos

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige