VB6 - ein Wort als Variable setzen und dann suche lassen

m-travel

Grünschnabel
Wie kann ich ein Wort als Variable setzen um später es in einer Excel-Datei ausfindig zu machen und wenn er es gefunden hat, soll er die gesamte Zeile kopieren.

Brauche Hilfe, ich bin neu in VB
 
Hi m-travel,

Wie kann ich ein Wort als Variable setzen um später es in einer Excel-Datei ausfindig zu machen
Wo steht den dieses Wort? In einer Zelle, soll der User das Wort irgendwo eingeben

Ansonsten gibt es eine einfache Möglichkeit so ein Problem anzugehen. Zeichne einfach ein Makro auf, in dem alle Deine Aktionen stehen.

Gruß
Das Orakel
 
Hi,


also, ich habe mindestens 2 Dateien.

Eine Datei soll alle DAten aus den anderen rausfischen - Auswertung.xls
die andere(n) enthalten monatliche Informationen über ein Bestimmter Prozess.

So in diese letzte steht das Wort z.B. (farbe) mit deren Eigenschaften (Zahlen).
Da diese Tabelle sich immer ändern kann es sein, dass das Wort in einer andere Zeile steht, und deshalb dachte ich, dass eine Variable da eingreifen muss und dieses Wort zu finden und dann kopieren und in der Excel-Datei "Auswertung.xls" einfügen.

Ich hatte das Macro schon probiert, aber er zeichnet die Suche nicht auf - leider.

Freue mich über Hilfe! VisualBasic6 ist ganz neu für mich und ich habe da keine Ahnung.
Grüße
 
Noch ne Frage. Wie umfangreich sind die Dateien. Es gibt zwei Ansätze die Du fahren kannst.

Der erste besteht darin sich den Wert einer Zelle aus der ersten Datei zu merken.

szMerkValue = Cells(Reihe, Spalte).Value

und dann alle Zeilen der zweiten Datei zu untersuchen.

Code:
For nCounter = 1 To Irgendwas
    If Cells(nCounter, Spalte_in_der_der_Suchwert_steht).Value = szMerkValue Then
        Kopiervorgang starten (Das kann man mit nem Makro aufzeichnen)
    End If
Next nCounter

Zweiter Ansatz ist mittels der Find Methode des Range Objektes zu suchen.
Code:
    Dim oRange         As Range
    Set oRange = Worksheets("Dein_ExcelSheet").Range("A1:A1000").Find _
    what:=szMerkValue, LookIn:=xlValues

Die Beispiele bilden natürlich kein komplexes Makro. Sie sollen Dir den Ansatz zeigen, den Du gehen kannst

Gruß
Das Orakel
 
Hi,


die "quell-DAtei"m, wo sich die Informationen befinden ist unfangreich.

Die andere wo die information reinsoll ist sehr übersichtlich.

Grüße
 
Also, dann kann ich nach Deiner Meinung beide Codes von oben nehmen, das meisnt Du?!

Eine weitere Fage:

Wenn ich eine Tabelle habe, und er soll nach einer Variable suchen, wie kann ich veranlassen, wenn er diese Variable gefunden hat einmal nach rechts springt und nach dem Wort Summe sucht ?
 
Hi m-travel,

yap, Du kannst beide Ansätze verfolgen. Aber beachte, dass ich oben keinen fertigen Code geschrieben habe.

m-travel hat gesagt.:
Wenn ich eine Tabelle habe, und er soll nach einer Variable suchen, wie kann ich veranlassen, wenn er diese Variable gefunden hat einmal nach rechts springt und nach dem Wort Summe sucht ?
Also wenn Du die Zelle gefunden hast, in der der von Dir gesuchte Wert steht, dann hast Du auch die Reihe, und die Zeile dieser Zelle. Es handelt sich hierbei um die Row und Column Eigenschaft.

Gruß
Das Orakel
 
Hi,

na weil Du es bist, hier ein kleines Beispiel. Ohne Fehlerprüfung und sonstigen Schnickschnack. Du must noch die Dateien- und Sheetnamen anpassen, sowie die Angaben für den Suchbereich und den Start- und Endbereich. Sollte aber verständlich sein.

Packe das Makro in die Exceldatei, in der die Auswertung steht.

Code:
Public Sub SucheWerte()
    Dim nCounter                    As Integer
    Dim nEndRow                     As Integer
    Dim nStartRow                   As Integer
    Dim oAuswerteSheet              As Worksheet
    Dim oFound                      As Range
    Dim oQuellSheet                 As Worksheet
    Dim szSearchValue               As String

    Rem ===================================================
    Rem == Tabellenblätter den Variablen zuweisen        ==
    Rem ===================================================
    Set oAuswerteSheet = Workbooks("Auswertung.xls").Worksheets("Tabelle1")
    Set oQuellSheet = Workbooks("Detail.xls").Worksheets("Tabelle1")
    nStartRow = 2
    nEndRow = 6

    Rem ===================================================
    Rem == In einer Schleife alle Werte aus Auswerte-    ==
    Rem == sheet suchen.                                 ==
    Rem ===================================================
    For nCounter = nStartRow To nEndRow
        Rem ===============================================
        Rem == Suchwert merken.                          ==
        Rem ===============================================
        szSearchValue = oAuswerteSheet.Cells(nCounter, 1).Value

        With oQuellSheet
            Rem ===========================================
            Rem == Wert in Quellsheet suchen mit Find    ==
            Rem ===========================================
            Set oFound = .Range("A1:A1000").Find(szSearchValue, _
                         .Range("A1"), xlValues)

            Rem ===========================================
            Rem == Wenn was gefunden wurde kopieren.     ==
            Rem ===========================================
            If Not oFound Is Nothing Then
                .Cells(oFound.Row, oFound.Column + 1).Copy
                oAuswerteSheet.Cells(nCounter, 2).Select
                ActiveSheet.Paste
            End If
        End With
    Next nCounter
End Sub

Gruß
Das Orakel
 
Zurück