Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel suche

Excel suche
06.08.2007 11:14:18
Michael
Guten Morgen,
ich habe in einem Arbeitsblatt Zellen a1:q1 bis a7200:q7200 gefüllt. Wenn ich nun in einem zweiten Arbeitsblatt das erste Arbeitsblatt nach einer bestimmten "Kundennummer" durchsuchen möchte und die Zellen dahinter entsprechend der Vorgabe im ersten Arbeitsblatt raussuchen will, finde ich mit sverweis keinen zufriedenstellenden Ansatz.
Bsp.
Im ersten Arbeitsblatt finde ich meine gesuchte Kundennummer in der Zelle a563. Im zweiten Blatt gebe ich in Zelle a1 die Kundennummer ein und automatisch sollen die Zellen b1 bis q1 im Blatt 2 durch die Werte b563 bis q563 gefüllt werden.
VG
Michael

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel suche
06.08.2007 11:18:00
Hajo_Zi
Hallo Michael,
da kann es viele Gründe geben. Da ic es ablehne über das Internet auf fremde Rechne zu schauen kann man nur vermuten.
- eins ist Text eins Zahl (ich schreibe nicht von der Formatierung)
- vielleicht sind Leerstellen vorhanden

in B1 der Tabelle2
06.08.2007 11:22:27
WF
hi Michael,
=INDEX(Tabelle1!B1:B7200;VERGLEICH($A1;Tabelle1!$A1:$A7200;0))
und bis Q1 kopieren
Salut WF

AW: Excel suche
06.08.2007 11:59:00
Chaos
Servus Michael,
per makro so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As Long
Dim t As Long
Dim z As Integer
If Target.Address = "$A$1" Then
If Target.Value  "" Then
Range("B1:Q1").ClearContents
Application.ScreenUpdating = False
s = Range("A1").Value
With Sheets("Tabelle1")
For z = 1 To 7200 Step 1
If .Cells(z, 1).Row = 7200 And .Cells(z, 1).Value  s Then
MsgBox ("kein Eintrag vorhanden!")
End If
If .Cells(z, 1).Value = s Then
t = .Cells(z, 1).Row
.Range("B" & t & ":Q" & t).Copy Destination:=Sheets("Tabelle2").Range("B1")
Application.CutCopyMode = False
Exit For
End If
Next z
End With
Application.ScreenUpdating = True
End If
End If
End Sub


In das Modul Tabelle2 (Alt+F11 im VBA-Explorer)
Nummer eingeben in Tabelle2!A1 und auf das Ergebnis warten.
Gruß
Chaos

Anzeige
AW: Excel suche
06.08.2007 12:29:00
Michael
Hallo zusammen,
super, vielen Dank für die schnelle Hilfe. Es klappt alles.
Ihr kennt das sicher, wenn das erste geschafft ist, kommen weitere Fragen auf:
Habe ich nun also die Werte in meinem zweiten Arbeitsblatt, so möchte ich diese im ersten Arbeitsblatt löschen.
Es gibt dazu recht viele Ansätze im Forum: Suchen-Markieren-Zeilen löschen.
Meißt aber nur über eine "Inputbox" - Ich möchte vielmehr meine gefundenen "Kundennummern" aus Arbeitsblatt 2 A(1) bis A(x) im Arbeitsblatt 1 löschen (die ganze Zeile).
VG
Michael

AW: Excel suche
06.08.2007 12:38:43
Chaos
Servus,
was jetzt?
Möchtest du die gesuchten Kundennummern samt Zeile von Tabelle1 nach Tabelle2 kopieren (untereinander) und dann den Datensatz in Tabelle1 löschen?
Oder willst du den Datensatz nach Tabelle2 in zeile 1 schreiben und dann den Datensatz in Tabelle1 löschen?
Dann geht aber der Datensatz bei der nächsten Abfrage komplett verloren.
Erklär mal ganz explizit, was du möchtest.
Gruß
Chaos

Anzeige
AW: Excel suche
06.08.2007 12:47:00
Michael
OK, gern
ich habe nun im Arbeitsblatt 2 meine gefundenen Kundennummern zur Weiterverarbeitung - klappt alles prima.
Arbeitsblatt 1 soll nun aber um die gefundenen Kundennummern verringert werden.
Nun brauche ich ein Macro, welches das Blatt 1 nach den Werten im Blatt 2 (a1) bis a(x) durchsucht und diese Zeilen löscht (im Blatt 1).
VG
Michael

AW: Excel suche
06.08.2007 13:10:08
Chaos
Servus,

Sub löschen()
Dim z As Integer, z1 As Integer
Dim r As Long, r1 As Long
r = Sheets("Tabelle2").Range("A65536").End(xlUp).Offset(0, 0).Row
For z = 1 To r Step 1
r1 = Sheets("Tabelle1").Range("A65536").End(xlUp).Offset(0, 0).Row
For z1 = r1 To 1 Step -1
If Sheets("Tabelle1").Cells(z1, 1).Value = Sheets("Tabelle2").Cells(z, 1).Value Then
Sheets("Tabelle1").Cells(z1, 1).EntireRow.Delete
End If
Next z1
Next z
End Sub


Gruß
Chaos

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige