Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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

SelectionChange problem

SelectionChange problem
verstaubte
hallo,
ich baue mir gerade eine mappe in der ich inventar verwalten möchte. allerdings nur im second level, sprich diese mappe dient ausschliesslich dazu die daten vorzubereiten und über ein entsprechendes plug-in direkt auf einen labeldrucker auszugeben.
ich habe jetzt das problem das ich wenn daten eingegeben werden diese noch weiter berechnet werden.
das geht auch alles, bis auf das suchen nach den ergebnissen. diese sind leider ALLE berechnet oder mit entsprechenden funktionen neu aufgeteilt (Text/EAN). wie kann ich die untenstehende suche so gestalten das ich nach den werten suchen kann?
bei der SuFu benutze ich dieses script welches ich mir mal irgendwann aus einem anderen forum _
kopiert habe:

Private Sub EAN_Suche_Click()
Dim raZelle As Range                            ' Variable für die zu suchende Zelle
Dim varSuchbegriff As Variant                   ' Variable für den Suchbegriff
Dim strAbfrage As String                        ' Variable für den Abbruch der Suche
Dim strStartAdresse As String                   ' Variable für die Adresse der ersten  _
gefundenen Zelle in der aktuellen Tabelle
Dim wsTabelle As Worksheet                      ' Variable für Tabelle als Objekt
'   Suchbegriff abfragen
varSuchbegriff = InputBox("Bitte eine EAN oder genauen Begriff eingeben:", "Suchabfrage", "" _
_
_
)
'   ein Suchbegriff wurde eingegeben
If varSuchbegriff  "" Then
'       Schleife über alle Tabellen
For Each wsTabelle In ThisWorkbook.WorkSheets
With WorkSheets(wsTabelle.Name)
'               Suchbegriff im benutzten Bereich suchen
Set raZelle = .UsedRange.Find(varSuchbegriff, , , xlWhole, , xlNext)
'               wenn Suchbegriff gefunden
If Not raZelle Is Nothing Then
'                   gefundene Zelle in die linke obere Ecke
Application.Goto Reference:=.Range(raZelle.Address), Scroll:=True
If MsgBox(wsTabelle.Name & Chr(9) & raZelle.Address(0, 0) & Chr(10) & Chr(   _
_
_
_
10) & "Suche beenden?" _
, vbYesNo + vbQuestion, "Suchbegriff gefunden in:") = 6 Then
'                       Prozedur verlassen wenn auf Ja geklickt wurde
Exit Sub
Else
'                       Adresse der ersten gefundenen Zelle auf Variable schreiben
strStartAdresse = raZelle.Address
Do
'                           nächste Zelle suchen
Set raZelle = .UsedRange.FindNext(raZelle)
'                           keine weitere Zelle gefunden, deshalb Schleife verlassen
If raZelle.Address = strStartAdresse Then Exit Do
'                           gefundene Zelle in die linke obere Ecke
Application.Goto Reference:=.Range(raZelle.Address), Scroll:=True
If MsgBox(wsTabelle.Name & Chr(9) & raZelle.Address(0, 0) & Chr(10)  _
_
_
_
& Chr(10) & "Suche beenden?" _
, vbYesNo + vbQuestion, "Suchbegriff gefunden in:") = 6 Then
'                               Prozedur verlassen wenn auf Ja geklickt wurde
Exit Sub
End If
Loop
End If
Else
'                   laufende Tabelle ist nicht die letzte
If wsTabelle.Index  WorkSheets.Count Then
If MsgBox(wsTabelle.Name & Chr(10) & Chr(10) & "Suche beenden?" _
, vbYesNo + vbQuestion, "Suchbegriff nicht gefunden in:") = 6 Then
'                            Prozedur verlassen wenn auf Ja geklickt wurde
Exit Sub
End If
Else
'                       Information, dass in der letzten Tabelle der Suchbegriff nicht vorkommt
If MsgBox(wsTabelle.Name & Chr(10) & Chr(10) & "Suche beendet",  _
vbOKOnly + vbExclamation, _
"Suchbegriff nicht gefunden in:") = vbOK Then Exit Sub
End If
End If
End With
Next wsTabelle
'       Information, dass Suche beendet
MsgBox "Keine weitere Zelle gefunden", vbExclamation, "Suche beendet"
'       Variable leeren
Set raZelle = Nothing
End If
End Sub

oder kennt jemand eine andere möglichkeit?
so und jetzt mein eigentliches problem wie im titel beschrieben.....
ob obiger probleme bediene ich mich dieses codes
Sub Suche_SelectionChange(ByVal Target As Excel.Range)
Sheets("Zeitschr").Range("c3:c1000").Copy
Sheets("Zeitschr").Range("a3:a1000").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub um eine indexzeile als text zu bekommen nach der ich suchen kann.
auch wieder ein problem für mich da ich es nicht hinbekomme diese anweisung für alle blätter geltend zu machen. ich kann immer nur ein blatte behandeln.
wenn das mit einem rutsch funktionieren würde könnte ich mit dem rest erstmal leben, da die SuFu nur zum pflegen der daten gedacht ist.
werde mich irgendwann dann mal um eine andere lösung bemühen wenn ich nicht mehr so im anfängerdschungel stecke.
hoffe ihr könnt mir da weiter helfen.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
warum so umständlich formuliert?
18.12.2009 10:22:51
Björn
Hallo,
ich frage mich immer wieder, wie manche Leute (in diesem Fall Du), solche Makros hinbekommen, und dann solche Fragen stellen.
Du willst was machen, schaust aber nicht in die Hilfe und benutzt auch den Makrorekorder nicht.
Schau in die Hilfe, da steht zu dem Befehl "Find":
Ausdruck.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
Wenn Du Dir das richtig durchliest, dann wirst Du finden, dass Du mit "lookin:=xlvalues" in den Werten suchen kannst.
Genauso kannst du den Makrorekorder benutzen und einfach ein suchfenster öffnen, den gewünschten Vorgang aufzeichnen und schon hast du die entsprechende Zeile.
Sieht dann bei mir so aus...
    Cells.Find(What:="Test", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Oder ich verstehe Dein Problem nicht...
Statt dessen schreibst du hier ne Seite lang ne Frage, die schon den völlig falschen Betreff hat.
So wie ich die verstehe, willst du wissen, wie man mit Find in Werten sucht.
Dann schreib doch auch bitte im Betreff: "in Werten suchen" oder was anderes aussagekräftiges.
Und die Frage könnte auch viel kürzer sein:
"Hallo,
kann ich irgendwie die Suchen-Funktion so anpassen, dass sie nur in Werten sucht?
Vielen Dank für Eure Hilfe.
..."
Das hätte gereicht.
Bitte nicht falsch verstehen, ist nicht böse gemeint, sondern als Hinweis, warum wahrscheinlich bisher keiner geantwortet hat.
Einfache Frage, schnelle Antwort.
Manchmal ist weniger mehr.
Du hättest Dir und allen "Lesern" bzw. Antwortern viel Zeit sparen können.
Gruß
Björn B.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige