PDA

Vollständige Version anzeigen : An die Excel Profis --- Hilfe!



sporting
03.09.2008, 07:44
hallo leute habe folgendes problem:

ich habe folgendes szenario (ich hoff ich bring das hier anschaulich hin:) ):


Z| Sp..... A |Sp... B | Sp.. C | Sp..... D| Sp..... E | Sp. F
1| 122335 | 13,20 | 12,20 | 547865|............. | ...........
2| 748548 | 14,10 | 13,10 | 748458| .............| ...........
3| 547865 | 10,20 | 15,30 | 158486| ............ | ...........

die punkte sind nicht zu beachten.

so jetzt sollte mittels formel geprüft werden ob der wert von zbspl D1 in der spalte A vorhanden ist. ist dieser vorhanden, sollte in der spalte E dessen wert von spalte B und den wert von spalte C in die spalte f eingetragen werden.

kleines beispiel: es muss überprüft werden ob der wert der zelle D1 in der spalte A vorhanden ist (was hier ja zutrifft - siehe zelle A3) so nun sollte der wert von zelle B3 in die zelle E1 und der wert aus zelle C3 in die zelle F1 eingetragen werden.

kann mir da vielleicht jemand behilflich sein? ist das überhaupt möglich?

im voraus besten dank für eure hilfe.

grüsse :)

Frei-denker
03.09.2008, 08:04
Ist möglich. Ein Weg wäre, ein Makro in Visual Basic for Applications zu schreiben, der Programmiersprache von Excel. Die entsprechenden Anleitungen findest du meistens in der Hilfe. War zumindestens in der früheren Excel-Version so.

Wird vermutlich eine einfache If-Anweisung reichen

If Wert zelle gleich irgendwas tue dies und das.

sporting
03.09.2008, 08:11
Ist möglich. Ein Weg wäre, ein Makro in Visual Basic for Applications zu schreiben, der Programmiersprache von Excel. Die entsprechenden Anleitungen findest du meistens in der Hilfe. War zumindestens in der früheren Excel-Version so.

Wird vermutlich eine einfache If-Anweisung reichen

If Wert zelle gleich irgendwas tue dies und das.

geht das nicht etwas einfacher? ich bin kein programmierer, und wills auch nicht werden. wie siehts mit einer formel aus? wo sind klopper und rheinländer:)

aber trotzdem danke für deine hilfe

sporting
03.09.2008, 10:29
hat sich soeben erledigt, lösung gefunden ... dennoch danke allen die sich bemüht haben!

Klopperhorst
03.09.2008, 11:00
Mit diesem VB-Makro sollte es gehen:



Sub Testmacro()
findValue = ThisWorkbook.ActiveSheet.Cells(1, 4) 'D1

inColumn = 1 ' A
maxRow = 100
For currRow = 1 To maxRow Step 1
currValue = ThisWorkbook.ActiveSheet.Cells(currRow, inColumn)
If currValue = findValue Then
' B -> E
ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 4) = ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 1)

' C -> F
ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 5) = ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 2)
End If
Next
End Sub

sporting
03.09.2008, 11:39
Mit diesem VB-Makro sollte es gehen:



Sub Testmacro()
findValue = ThisWorkbook.ActiveSheet.Cells(1, 4) 'D1

inColumn = 1 ' A
maxRow = 100
For currRow = 1 To maxRow Step 1
currValue = ThisWorkbook.ActiveSheet.Cells(currRow, inColumn)
If currValue = findValue Then
' B -> E
ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 4) = ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 1)

' C -> F
ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 5) = ThisWorkbook.ActiveSheet.Cells(currRow, inColumn + 2)
End If
Next
End Sub


vielen dank klopper ... auch das werd ich noch versuchen ...

ich habs so gelöst:

in zelle e1: =SVERWEIS(D$1;A1:C5;2;FALSCH)

und in zelle f1: =SVERWEIS(D1;A$1:C5;3;FALSCH)

grüsse und nochmals dank

:]

Pikes
03.09.2008, 12:00
da brauchst man doch Sverweis oder nicht?

MorganLeFay
03.09.2008, 12:12
Ja, Sverweis und If-Funktion sollten gehen.

sporting
03.09.2008, 12:48
da brauchst man doch Sverweis oder nicht?

siehe beitrag #6

Don
05.09.2008, 12:24
vielen dank klopper ... auch das werd ich noch versuchen ...

ich habs so gelöst:

in zelle e1: =SVERWEIS(D$1;A1:C5;2;FALSCH)

und in zelle f1: =SVERWEIS(D1;A$1:C5;3;FALSCH)

grüsse und nochmals dank

:]

Yep. Spart mir das Geschreibsel.
Was mir auffiel: die IT cracks schlagen VB scripts vor anstatt simpel bereits vorhandene Funktionen zu benutzen. eine overkill Mentalität die mich schon immer störte.

Klopperhorst
05.09.2008, 19:09
Yep. Spart mir das Geschreibsel.
Was mir auffiel: die IT cracks schlagen VB scripts vor anstatt simpel bereits vorhandene Funktionen zu benutzen. eine overkill Mentalität die mich schon immer störte.


Mit den Drag und Drop-Funktionen kann man keine komplexen Programme entwickeln.

Da bleibt man lieber in seinem Metier, ganz instinktiv.


----

Don
05.09.2008, 19:27
Mit den Drag und Drop-Funktionen kann man keine komplexen Programme entwickeln.

Da bleibt man lieber in seinem Metier, ganz instinktiv.


----

Er wollte ja auch kein komplexes Programm.
Du solltest mehr auf die Kundenwünsche eingehen. ;)

Klopperhorst
06.09.2008, 10:13
Er wollte ja auch kein komplexes Programm.
Du solltest mehr auf die Kundenwünsche eingehen. ;)

Du hast völlig Recht, gewöhnlich tue ich dies auch. Ich kenne mich mit Excel leider gar nicht aus.

Ansonsten stimme ich dir in jeder Hinsicht zu, daß oft mit Kanonen auf Spatzen geschossen wird.

----

politisch Verfolgter
06.09.2008, 15:03
Excel is was für Jerry Lewis Bürotrottel ;-)

derRevisor
06.09.2008, 15:55
Er wollte ja auch kein komplexes Programm.
Du solltest mehr auf die Kundenwünsche eingehen. ;)

Mit einem simplen Excel-Zeilenbefehl läßt sich aber nicht recht Umsatz machen :D

Außerdem kann der DAU diesen Zeilenbefehl viel zu leicht wieder kaputt machen...

politisch Verfolgter
06.09.2008, 16:39
Weil hier Codezeilen auftauchen, mal was ganz Geiles, was man sonst wohl nie "programmieren" würde:
var jstxt= 'var P = new Array();'
hahaha, das tut gut ;-)
Kann man sich ne neue Sprache zurechtschustern, die Keiner mehr versteht ;-)

Darf man mal erfahren, welche Ausbildung Klopperhorst hat?
Man diskutiert ja hier manchmal, weswegen man neugierig ist.