Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
996to1000
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

Frage zu Wenn Dann Funktion

Frage zu Wenn Dann Funktion
27.07.2008 18:30:17
Pascal
Hallo alle zusammen!
Ich habe folgenden Code versucht so zu gestalten, dass alle 5 folgenden Bedingungen bearbeitet werden:
"A" steht in Spalte 2 -> dann soll der Text links daneben kopiert und in wksI.Cells(zelle, spalte + 13) eingefügt werden
"B" steht in Spalte 2 -> dann soll der Text links daneben kopiert und in wksI.Cells(zelle, spalte + 14) eingefügt werden
"C" steht in Spalte 2 -> dann soll der Text links daneben kopiert und in wksI.Cells(zelle, spalte + 15) eingefügt werden
"D" steht in Spalte 2 -> dann soll der Text links daneben kopiert und in wksI.Cells(zelle, spalte + 16) eingefügt werden
"E" steht in Spalte 2 -> dann soll der Text links daneben kopiert und in wksI.Cells(zelle, spalte + 17) eingefügt werden
Wenn dort anstatt dieser Begriffe ("A", "B", usw.) in Spalte 1 "Symbol not found" gefunden wird, dann soll er in alle 5 Zellen "k.A." schreiben.

zelle = 7
spalte = 1
Set wksC = Worksheets("Cache")
Set wksI = Worksheets("Input")
varZ = Application.Match("A", wksC.Columns(2), 0)
If IsNumeric(varZ) Then
wksI.Cells(zelle, spalte + 13) = wksC.Cells(varZ, 1).Value
varZ = Application.Match("B", wksC.Columns(2), 0)
If IsNumeric(varZ) Then
wksI.Cells(zelle, spalte + 14) = wksC.Cells(varZ, 1).Value
varZ = Application.Match("C", wksC.Columns(2), 0)
If IsNumeric(varZ) Then
wksI.Cells(zelle, spalte + 15) = wksC.Cells(varZ, 1).Value
varZ = Application.Match("D", wksC.Columns(2), 0)
If IsNumeric(varZ) Then
wksI.Cells(zelle, spalte + 16) = wksC.Cells(varZ, 1).Value
varZ = Application.Match("E", wksC.Columns(2), 0)
If IsNumeric(varZ) Then
wksI.Cells(zelle, spalte + 17) = wksC.Cells(varZ, 1).Value
varZ = Application.Match("Symbol not found.", wksC.Columns(1), 0)
If IsNumeric(varZ) Then
wksI.Cells(zelle, spalte + 13) = "k.A."
wksI.Cells(zelle, spalte + 14) = "k.A."
wksI.Cells(zelle, spalte + 15) = "k.A."
wksI.Cells(zelle, spalte + 16) = "k.A."
wksI.Cells(zelle, spalte + 17) = "k.A."
End If
End If
End If
End If
End If
End If


Ich vermute, dass das irgendwie mit "else" gelöst werden muss, aber dann ergab sich bei mir immer ne Endlosschleife oder es wurden die anderen Bedingungen nicht mehr bearbeitet :(
Wäre nett wenn ihr mir weiterhelfen könntet!
Einen schönen Sonntagabend noch!
Gruß Pascal

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Wenn Dann Funktion
27.07.2008 19:50:00
Uduuh
Hallo,
so?

Sub tt()
Dim rngc As Range
Dim wksC As Worksheet, wksL As Worksheet
Dim Spalte As Long, Zeile As Long
Set wksC = Worksheets("Cache")
Set wksL = Worksheets("Input")
For Each rngc In wksC.Columns(1)
Select Case rngc
Case "A" To "E": wksL.Cells(Zeile, Asc(rngc) - Spalte - 50) = rnkc.Offset(0, -1)
Case Else
If rngc.Offset(0, -1) = "Symbol not found" Then
With wksL
.Range(.Cells(Zeile, Spalte + 12), .Cells(Zeile, Spalte + 17)) = "k.A"
End With
End If
End Select
Next rngc
End Sub


Gruß aus’m Pott
Udo

Anzeige
AW: Frage zu Wenn Dann Funktion
27.07.2008 22:35:00
Pascal
Hallo Udo!
Ich glaube, dass ich meinen Fall zu undeutlich beschrieben habe, oder du ihn anders interpretiert hast.
Ich versuch es daher nochmal zu beschreiben:
Also es ist so, dass in Spalte 2 folgende Worte in unterschiedlichen Zeilen stehen:
"Apfel", "Birne", "Clementine", "Dattel" und "Erdbeer"
Wenn da nun "Apfel" in Zeile X steht dann soll die Zelle links daneben kopiert und in wksI.Cells(zelle, spalte + 13) eingefügt werden.
Dann soll anschließend überprüft werden, wo "Birne" in der Spalte 2 steht (z.B. in Zelle Y) und auch die Zelle links daneben soll kopiert und in wksI.Cells(zelle, spalte + 14) eingefügt werden.
Dasselbe Spiel mit "Clementine", "Dattel" und "Erdbeer" :)
Wenn nun nichts davon zutrifft dann steht da wahrscheinlich "Symbol not found" in Spalte 1, aber er kann auch generell einfach in alle 5 Zellen "k.A." schreiben. Es stehen nämlich immer alle 5 Obstsorten in Spalte 2 oder keines, nur die Zelle variiert halt...
Hoffe die Beschreibung war jetzt verständlicher... Oder muss ich die Begriffe dann nur noch irgendwo definieren? Nehme mal an, dass Case "Apfel" To "Erdbeer": nicht so funktionieren wird :)
Danke vorab für eure Hilfe!
Gruß Pascal

Anzeige
AW: Frage zu Wenn Dann Funktion
28.07.2008 09:42:16
Rudi
Hallo,
so?

Sub tt()
Dim rngC As Range
Dim wksC As Worksheet, wksL As Worksheet
Dim Spalte As Long, Zeile As Long
Set wksC = Worksheets("Cache")
Set wksL = Worksheets("Input")
Spalte = 1
Zeile = 7
For Each rngC In wksC.Columns(1).SpecialCells(xlCellTypeConstants)
Select Case rngC
Case "Apfel":      wksL.Cells(Zeile, Spalte + 13) = rngC.Offset(0, -1)
Case "Birne":      wksL.Cells(Zeile, Spalte + 14) = rngC.Offset(0, -1)
Case "Clementine": wksL.Cells(Zeile, Spalte + 15) = rngC.Offset(0, -1)
Case "Dattel":     wksL.Cells(Zeile, Spalte + 16) = rngC.Offset(0, -1)
Case "Erdbeere":   wksL.Cells(Zeile, Spalte + 17) = rngC.Offset(0, -1)
Case Else
With wksL
.Range(.Cells(Zeile, Spalte + 13), .Cells(Zeile, Spalte + 17)) = "k.A"
End With
End Select
Zeile = Zeile + 1
Next rngC
End Sub


Gruß
Rudi

Anzeige
AW: Frage zu Wenn Dann Funktion
28.07.2008 13:24:00
Pascal
Hallo Rudi!
Vielen Dank, für deine Lösung! Klappt nun wie gewünscht :)
Einen Schönen Tag noch!!!

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige