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

Spaltenwerte in Zeile suchen per VBA

Spaltenwerte in Zeile suchen per VBA
12.01.2023 08:26:53
Josef
Hallo Community,
ich habe folgendes Problem und ich hoffe ihr könnte mir wieder helfen. Das Problem dabei ist, dass es per VBA passieren muss.
Folgendes muss passieren:
Suche die Spaltenwerte in R3:R15 in der Zeile B2:N2. Wenn Werte gefunden wurde, dann trage überall "vorhanden" ein, wenn die Zelle nicht bereits befüllt ist und wenn Zelle in Spalte A nicht leer ist.
In der angehängten Datei ist ein Bsp. mit Ergebnis
https://www.herber.de/bbs/user/157222.xlsx
Vielen Dank für eure Hilfe

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 08:59:49
Alwin
Hallo Josef,
vielleicht so:

Sub Uebertragen()
Dim Suchwert As Range, i&, j&
With Tabelle1
.Range("A3:N17").Copy
.Range("A21").PasteSpecial xlPasteValues
For i = 2 To 14
Set Suchwert = .Rows(2).Find(.Cells(i, 18))
If Not Suchwert Is Nothing Then
For j = 3 To 14
If .Cells(j, 1)  "" And Not .Cells(j, Suchwert.Column)  "" Then
.Cells(j + 18, Suchwert.Column) = "vorhanden"
End If
Next j
End If
Next i
End With
End Sub
Ich hoffe ich habe es richtig verstanden.
Gruß Uwe
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 09:23:31
Josef
Hallo Uwe,
das ist fast richtig.
Das Ergebnis soll in der oberen Hälfte eingefügt werden. Das in der unteren Hälfte war nur eine Info, damit ihr wisst wie ich mir das Ergebnis in der oberen Hälfte vorstelle. Könntest du den Code noch einmal überarbeiten? Außerdem erkennt dieser Code eine leere Zelle in Splate R als Wert an, weshalb es auch den Text in eine leere Spalte zurückschreibt (Spalte "O")
Anzeige
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 10:02:27
Alwin
dann so:

Sub Uebertragen()
Dim Suchwert As Range, i&, j&
With Tabelle1
For i = 2 To 14
Set Suchwert = .Rows(2).Find(.Cells(i, 18))
If Not Suchwert Is Nothing Then
For j = 3 To 14
If .Cells(j, 1)  "" And Not .Cells(j, Suchwert.Column)  "" Then
If Suchwert  "" Then .Cells(j, Suchwert.Column) = "vorhanden"
End If
Next j
End If
Next i
End With
End Sub
Gruß Uwe
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 10:14:10
Josef
Ist zwar etwas langsam bei einer größeren Datenbank, aber es funktioniert.
Vielen Dank
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 10:29:36
Alwin
Mit der selben Vorgehensweise kann man das über Array erledigen.
Tabelle von der 1 . bis zur letzten beschriebenen Zeile/Spalte in ein Array einlesen. Mit dieser Prozedur das Array bearbeiten und in einem Block alles wieder zurückschreiben.
Das geht dann schneller.
Gruß Uwe
Anzeige
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 10:42:41
Josef
Habe leider keine Ahnung was du meinst 😬
AW: Spaltenwerte in Zeile suchen per VBA
12.01.2023 15:29:46
Herbert_Grom
Hallo Josef,
dann probiers mal damit. Aufgebaut auf Rudis Code, wird alles in ein Array eingelesen und am Ende in die Liste geschrieben. Du musst die #"Range"-Angaben an deine Originaldatei anpassen.
https://www.herber.de/bbs/user/157236.xlsm
Servus
AW: Spaltenwerte in Zeile suchen per VBA
13.01.2023 08:54:39
Alwin
@ Herbert_Grom
Bin aber nicht Rudi sondern ...
Gruß Uwe
AW: Spaltenwerte in Zeile suchen per VBA
16.01.2023 12:44:52
Josef
Hallo Herbert,
ich konnte deinen Code mittlerweile testen und will dich nur informieren, dass es geklappt hat und es nun viiiiiel schneller ist. Vielen Dank.
Anzeige
AW: Spaltenwerte in Zeile suchen per VBA
18.01.2023 11:53:56
Josef
Hallo Herbert,
ich muss dich deswegen leider noch einmal belästigen. Ich habe versucht deinen Code auf die Original Liste abzuändern, und bekomme ständig die Meldung, dass der Index außerhalb des Bereichts liegt. Dabei wird mir die Zeile 'arrDaten(j - 2, Suchwert.Column - 1) = "GZ" markiert.
Daher habe ich die Testdatei mal an meine Originaldatei angepasst und hoffe, dass du mir den Code umschreiben könntest.
Was hat sich geändert:
- Spalte A ist nun in Spalte D
- Datumszeile hat sich geändert
- Der Datensatz beginnt erst ab Zeile 25 statt Zeile 3
- Der Suchwert ist nun nicht auf dem selben Tabellenblatt, sondern in der Tabelle2
Danke schon mal vorab für deine Hilfe.
PS: Du könntest mir die Funktion der einzelnen Zeilen in deinem Code beschreiben, vlt. bekomme ich den Code dann selber umgeschrieben
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige