Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Eine Zelle über eine andere Zelle definieren
zurück: Word-Serienbrief mit Exceldaten füllen weiter: Formelergebnis aktualisieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Maze
Excel-Kenner (mit VBA Grundkenntnissen)


Verfasst am:
24. Apr 2006, 16:43
Rufname:

Eine Zelle über eine andere Zelle definieren - Eine Zelle über eine andere Zelle definieren

Nach oben
       

Hallo Zusammen,

ich sitze gerade an meinem ersten VBA Makro und hänge etwas fest.

Was ich erreichen möchte ist, dass das Makro mir Daten in einem Bestimmten Suchbereich mit Daten in einem Testbereich abgleicht.
Werden Übereinstimmungen gefunden, so soll die Information aus dem Vorgabebereich (die Zelle in der gleichen Reihe, aber eine Spalte höher als die Zelle aus dem Testbereich) in die Zielzelle geschrieben werden.

Das definieren der einzelnen Bereiche und das Durchlaufen der einzelnen Zellen der Bereiche funktioniert.

Probleme habe ich derzeit mit dem IF-Teil:

Ich möchte hierbei definieren, dass die Koordinaten der Zielzelle gleich der Zeile der Suchzelle und die Spalte+1 der Suchzelle sind und die Vorgabezelle die Zelle rechts neben der Testzelle ist. ( Also wieder gleiche Zeile aber Spalte +1)

Im Anschluss will ich mittels Zielzelle.Value = Vorgabezelle.Value den Wert aus der Vorgabezelle in die Zielzelle schreiben.


Ich wäre Euch für eine schnelle Hilfe Dankbar.

Geht sicher ganz leicht, aber so leicht wie ich dachte auch nicht Smile

Zielzelle.row = Suchzelle.row hatte nur Fehlermeldungen zur Folge ;)

Wie gesagt, bin absoluter VBA Neuling Smile

Danke im Voraus,
Maze
Maze
Excel-Kenner (mit VBA Grundkenntnissen)


Verfasst am:
25. Apr 2006, 10:47
Rufname:


AW: Eine Zelle über eine andere Zelle definieren - AW: Eine Zelle über eine andere Zelle definieren

Nach oben
       

Code:
Sub ElForces_DOF1_6()
'
' Test1 Makro
' Makro am 24.04.2006 von Matthias Holz aufgezeichnet
'

'
Dim varRückgabe As Variant
Dim SuchBereich As Range
Dim ZielBereich As Range
Dim TestBereich As Range
Dim VorgabeBereich As Range
Dim Suchzelle As Range
Dim Zielzelle As Range
Dim Testzelle As Range
Dim Vorgabezelle As Range
varRückgabe = InputBox("Fall wählen: X-Acc(1), Y-Acc(2), Z-Acc(3), QS-1(4), QS-2(5), QS-3(6), QS-4(7), QS-5(8), QS-6(9), QS-7(10), QS-8(11)", "Fall wählen", 1)
If varRückgabe = "" Then Exit Sub
On Error GoTo Fehler_Behandlung
Select Case CByte(varRückgabe)
    Case 1  ' Für x-Acc
        Set SuchBereich = Range("A3:A74")
        Set ZielBereich = Range("B3:B74")
    Case 2  ' Für y-Acc
        Set SuchBereich = Range("A76:A147")
        Set ZielBereich = Range("B76:B147")
    Case 3  ' Für z-Acc
        Set SuchBereich = Range("A149:A220")
        Set ZielBereich = Range("B149:B220")
    Case 4  ' Für QS-1
        Set SuchBereich = Range("A222:A293")
        Set ZielBereich = Range("B222:B293")
    Case 5  ' Für QS-2
        Set SuchBereich = Range("A295:A366")
        Set ZielBereich = Range("B295:B366")
    Case 6  ' Für QS-3
        Set SuchBereich = Range("A368:A439")
        Set ZielBereich = Range("B368:B439")
    Case 7  ' Für QS-4
        Set SuchBereich = Range("A441:A512")
        Set ZielBereich = Range("B441:B512")
    Case 8  ' Für QS-5
        Set SuchBereich = Range("A514:A585")
        Set ZielBereich = Range("B514:B585")
    Case 9  ' Für QS-6
        Set SuchBereich = Range("A587:A658")
        Set ZielBereich = Range("B587:B658")
    Case 10  ' Für QS-7
        Set SuchBereich = Range("A660:A731")
        Set ZielBereich = Range("B660:B731")
    Case 11  ' Für QS-8
        Set SuchBereich = Range("A733:A804")
        Set ZielBereich = Range("B733:B804")
End Select
Set TestBereich = Range("E1:E111")
Set VorgabeBereich = Range("F1:F111")
For Each Suchzelle In SuchBereich
    For Each Testzelle In TestBereich
        If Suchzelle.Value = Testzelle.Value Then
            For Each Vorgabezelle In VorgabeBereich
                If Vorgabezelle.Row = Testzelle.Row Then
                    For Each Zielzelle In ZielBereich
                        If Zielzelle.Row = Suchzelle.Row Then
                            Zielzelle.Value = Vorgabezelle.Offset(RowOffSet:=1, ColumnOffSet:=0).Value
                        End If
                    Next Zielzelle
                End If
            Next Vorgabezelle
        End If
    Next Testzelle
Next Suchzelle
Set TestBereich = Range("J1:J40")
Set VorgabeBereich = Range("K1:K40")
For Each Suchzelle In SuchBereich
    For Each Testzelle In TestBereich
        If Suchzelle.Value = Testzelle.Value Then
            For Each Vorgabezelle In VorgabeBereich
                If Vorgabezelle.Row = Testzelle.Row Then
                    For Each Zielzelle In ZielBereich
                        If Zielzelle.Row = Suchzelle.Row Then
                            Zielzelle.Value = Vorgabezelle.Offset(RowOffSet:=0, ColumnOffSet:=0).Value
                        End If
                    Next Zielzelle
                End If
            Next Vorgabezelle
        End If
    Next Testzelle
Next Suchzelle
Exit Sub
Fehler_Behandlung:
MsgBox "Folgender Fehler trat auf:" & vbCrLf & _
    Err.Description & vbCrLf & "Ihre Eingabe war: " & _
    varRückgabe, vbCritical, "Ende"
End Sub


Hab das mittlerweile über 4 For EACH-Schleifen gelöst. Es funktioniert nun, aber ich finds noch nicht ganz sauber Smile

Aber hauptsache ist, dass es arbeitet wie angedacht Smile
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Formel in Zelle nicht Sichtbar machen 5 Fire 8408 26. Jan 2005, 18:00
Fire Formel in Zelle nicht Sichtbar machen
Keine neuen Beiträge Excel Formeln: mehrere WENN-Verknüpfungen pro Zelle 9 MichaP 2491 13. Dez 2004, 19:37
ae mehrere WENN-Verknüpfungen pro Zelle
Keine neuen Beiträge Excel Formeln: Umwandeln von Texten und Zahlen in eine Zelle 7 Allgaier 1980 13. Dez 2004, 15:02
Gast Umwandeln von Texten und Zahlen in eine Zelle
Keine neuen Beiträge Excel Formeln: Bezug auf Zelle -Ausgabe Formel 12 Patrick0705 2568 26. Nov 2004, 11:36
Arnim Bezug auf Zelle -Ausgabe Formel
Keine neuen Beiträge Excel Formeln: wenn zelle voll dann 15 umbroboy 7276 31. Okt 2004, 11:15
pehbeh wenn zelle voll dann
Keine neuen Beiträge Excel Formeln: spalte einer bestimmten zelle in einer anderen zelle anzeige 1 brouwe 1290 13. Okt 2004, 18:41
Arnim spalte einer bestimmten zelle in einer anderen zelle anzeige
Keine neuen Beiträge Excel Formeln: Zelle durch Datum gesperrt 1 Iceblue 1170 11. Okt 2004, 23:00
fl618 Zelle durch Datum gesperrt
Keine neuen Beiträge Excel Formeln: Summe einer sich verändernten Zelle 1 ALf 1269 11. Okt 2004, 18:39
Tim Summe einer sich verändernten Zelle
Keine neuen Beiträge Excel Formeln: erste Zeichen einer Zelle in andere kopieren 2 fisler0815 3067 11. Okt 2004, 15:37
fisler0815 erste Zeichen einer Zelle in andere kopieren
Keine neuen Beiträge Excel Formeln: inhalt einer zelle suchen und wiedergeben 2 winni 5568 23. Sep 2004, 16:47
winni inhalt einer zelle suchen und wiedergeben
Keine neuen Beiträge Excel Formeln: vorangegangene Zelle 1 Gast 1986 23. Sep 2004, 15:26
fl618 vorangegangene Zelle
Keine neuen Beiträge Excel Formeln: Resultat einer Formel um eine Zelle zu bestimmen 3 Aloha 1775 21. Aug 2004, 22:55
ae Resultat einer Formel um eine Zelle zu bestimmen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln