Anzeige
Archiv - Navigation
1464to1468
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

Wert suchen und ans ende der Zeile springen

Wert suchen und ans ende der Zeile springen
08.01.2016 11:38:19
S
Hallo zusammen, ich bin gerade in den Anfängen von VBA und bin bei meiner ersten Hürde auf diese Forum gestoßen. Ich konnte über die Suche nicht das finden, was ich genau benötige.
Ich habe im Tabellenblatt_1 ein Feld "A2" wo eine Zahl eingetragen wird.
Im Tabellenblatt_2 ist eine Tabelle "Maßangaben", wo diese Zahl in Spalte "D" zu finden ist:
Tabellenblatt_2 Maßangeben
Länge Breite Höhe Referenznummer Preis
5 1 4 123 10€
3 5 8 234 12€
2 7 0,5 345 14€
7 3 7 456 16€
8 5 6 567 18€
12 2 3 678 20€
5 9 1 789 22€
Jetzt möchte ich per Makro aus dem Tabellenblatt_1 den Wert in Spalte "D" (Tabellenblatt_2) suchen und am ende der Zeile dann weitere Werte kopieren.
Die Tabelle erweitert sich ständig, sodass die Suche gerne auf die gesamte Spalte (1-65000) ausgeweitet sein soll.
Ich bin für jeden Hinweis extrem dankbar.
Liebe Grüße,
S. Aras

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert suchen und ans ende der Zeile springen
08.01.2016 11:47:59
S
Leider ist die Tabelle versetzt im Topic erschienen.
Daher ein Bsp. zum besseren Verständnis.
im Feld "A2" wird der Wert "234" eingetragen.
Jetzt soll das Makro in das Tabellenblatt_2 springen, den Wert in Spalte "D" (Referenznummer) suchen und auf das Feld "F" in der gleichen Zeile springen.

AW: Wert suchen und ans ende der Zeile springen
08.01.2016 12:29:24
otto
Hi,
vielleicht so:
Sub suchen()
Dim zahl, gefunden
zahl = Tabelle1.Cells(2, 1)
Sheets("Tabelle2").Select
Columns("D:D").Select
Cells.Find(What:=zahl, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, searchdirection:=xlNext, MatchCase:= _
False).Activate
gefunden = ActiveCell.Row
Cells(gefunden, 6).Select
End Sub
Test hat bei mir funktioniert.
otto

Anzeige
Gruselcode
08.01.2016 12:42:51
Rudi
Hallo,
neben den überflüssigen Select rennt der Code in einen Fehler wenn der Suchbegriff nicht gefunden wird.
Gruß
Rudi

AW: Wert suchen und ans ende der Zeile springen
08.01.2016 12:40:13
Rudi
Hallo,
Sub Finden()
Dim r As Range
Set r = Sheets("Tabelle2").Columns(4).Find _
(What:=Cells(2, 1), LookIn:=xlValues, LookAt:=xlWhole)
If Not r Is Nothing Then
Application.Goto r.Offset(, 2), True
Else
MsgBox "Nicht vorhanden!"
End If
End Sub

Gruß
Rudi

AW: Wert suchen und ans ende der Zeile springen
08.01.2016 12:49:17
otto
Hallo Rudi,
ja, das ist natürlich besser.
Bin kein Profi, war auch nur ein Ansatz ohne Fehlerbehandlung.
otto

Anzeige
AW: Wert suchen und ans ende der Zeile springen
08.01.2016 14:26:14
S
Besten Dank Rudi!
Genau so habe ich mir es vorgestellt :)

AW: Wert suchen und ans ende der Zeile springen
10.01.2016 13:09:29
S
Ich komme bei einer "Klenigkeit" nicht weiter.
Ich kopiere vorher einen Bereich, lasse per Makro den Wert suchen und gehe ans Ende der Tabelle und möchte nun in die Ermittelte Zelle den kopierten Wert einfügen.
Das Problem ist, der Wert wird ganz unten am Ende der Tabelle, aber in der Richtigen Spalte eingefügt. D.h. ich muss es irgendwie hinbekommen, dass auch die Richtige Zeile erhalten bleibt.
Mein Makro sieht wie folgt aus:
Sub Copy_Range_AK1_AQ1()
Sheets("Archiv").Select
Range("AK1:AQ1").Select
Selection.Copy
Call Daten_archivieren_unteres_Feld()
Call Paste_selection()
End Sub

Die aufzurufende Makros sind folgende:

Sub Daten_archivieren_unteres_Feld()
Dim r As Range
Set r = Sheets("Archiv").Columns(2).Find _
(What:=Cells(16, 3), LookIn:=xlValues, LookAt:=xlWhole)
If Not r Is Nothing Then
Application.Goto r.Offset(, 12), True
Else
MsgBox "Nicht vorhanden!"
End If
End Sub

Und
Sub Paste_selection()
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Bsp: Die Zelle wo das Kopierte eingefügt werden soll ist "N4" aber eingefügt wird in Zelle "N8"

Anzeige
AW: Wert suchen und ans ende der Zeile springen
10.01.2016 14:16:40
S
Ich komme bei einer "Kleinigkeit" nicht weiter.
Ich kopiere einen Bereich, lasse per Makro einen Wert suchen und wähle eine bestimmte Zelle am Ende der Tabellenzeile aus. Dort möchte nun in die "ermittelte Zelle" den kopierten Wert einfügen.
Die Makros funktionieren einzeln wunderbar, aber wenn ich diese nacheinander abrufe passiert folgendes.
Die ermittelte Zelle ist "N4" (hier soll das Kopierte eingefügt werden)
Eingefügt wird aber in Zelle "N8" (Das ist das Ende der Tabelle "A1:M7")
Im Prinzip müsste die Zelle, welche das Makro gesucht hat, festhalten und den nächsten Schritt in dieser Zelle ausführen. Da die Zelle sich ja je nach Suchwert verändert, kann ich die Zelle ja selbst nicht bestimmen.
Hat hier vllt. jemand eine Idee?
Mein Makro sieht wie folgt aus:
Sub Copy_Range_AK1_AQ1()
Sheets("Archiv").Select
Range("AK1:AQ1").Select
Selection.Copy
Call Daten_archivieren_unteres_Feld()
Call Paste_selection()
End Sub

Die aufzurufende Makros sind folgende:

Sub Daten_archivieren_unteres_Feld()
Dim r As Range
Set r = Sheets("Archiv").Columns(2).Find _
(What:=Cells(16, 3), LookIn:=xlValues, LookAt:=xlWhole)
If Not r Is Nothing Then
Application.Goto r.Offset(, 12), True
Else
MsgBox "Nicht vorhanden!"
End If
End Sub

Und
Sub Paste_selection()
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Anzeige

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige