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

Durchsuchen von Zeilen und Spalten mittels VBA

Durchsuchen von Zeilen und Spalten mittels VBA
05.06.2018 14:15:02
Zeilen
Hallo,
ich möchte mittels VBA die Spalte A nach einem Suchwort durchsuchen.
Wenn das Suchwort vorhanden ist soll es sich die Zeile merken.
Dann soll es ein anderes Suchwort in einer Zeile 1 suchen und sich von dieser die spalte merken.
In diese Zelle der Zeilen/Spalten Kombi der zwei Suchwörter soll dann etwas hineinkopiert werden.
Sollte das erste Suchwort nicht in der Spalte vorhanden sein soll es eine neue Zeile einfügen und das Suchwort in die Zell A der neuen Zeile einfügen, das zweite Suchwort wiederum in der Zeile 1 suchen und etwas in die neueZeile/gemerkte Spalte einfügen.
Hab schon ewig herumprobiert und mit einer For Each schleife nicht zu einem Funktionierendem Makro gekommen.
Kann mir jemand helfen?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Durchsuchen von Zeilen und Spalten mittels VBA
05.06.2018 14:40:14
Zeilen
Hi
dim Zeile As Range
dim Spalte as Range
set Zeile = Columns(1).Find(what:="Suchwort1", lookat:=xlwhole, lookin:=xlvalues)
set Spalte = Rows(1).find(what:="Suchwort2", lookat:=xlwohle, lookIn:=xlvalues)
if Zeile is Nothing then
set Zeile = Cells(rows.count, 1).end(xlup).Offset(1, 0)
Zeile.Value = "Suchwort1"
end if
if Spalte is Nothing then
set Spalte = Cells(1, columns.count).End(xltoleft).Offset(0, 1)
Spalte = "Suchwort2
end if
?Etwas?.Copy
Intersect(Zeile.EntireRow, Zeile.EntireColum).PasteSpecial xlpastevalues

AW: Durchsuchen von Zeilen und Spalten mittels VBA
05.06.2018 15:08:50
Zeilen
Also mein Code sieht jetzt so aus, da etwas von einer Quelldatei in eine Zieldatei übertragen werden soll.
Allerdings gibt er mir bei Set Spalte und Set Zeile Befehlen Fehlermeldungen zurück.
An was liegt das?
Dim WBZiel As Workbook, ExportDatei As String
Dim WBQuelle As Workbook
Set WBQuelle = ThisWorkbook
Pfad = "C:.....Masterfile_150518"
Set WBZiel = Workbooks.Open(Pfad)
Dim QWS As Worksheet, ZWS As Worksheet, QWS2 As Worksheet, QWS3 As Worksheet, ZWS2 As Worksheet
Set QWS = WBQuelle.Worksheets("Allgemeine Probeninformationen")
Set QWS2 = WBQuelle.Worksheets("Diagramme")
Set QWS3 = WBQuelle.Worksheets("Druckversion_DE")
Set ZWS = WBZiel.Worksheets("Uebersicht")
Set ZWS2 = WBZiel.Worksheets("UCS")
Dim Zeile As Range
Dim Spalte As Range
Dim Suchwort1 As String
Dim Suchwort2 As String
Suchwort1 = QWS2.Range("L5")
Suchwort2 = "UCS"
Set Zeile = ZWS2.Columns(1).Find(what:="Suchwort1", lookat:=xlWhole, LookIn:=xlValues)
Set Spalte = ZWS2.Rows(1).Find(what:="Suchwort2", lookat:=xlwohle, LookIn:=xlValues)
If Zeile Is Nothing Then
Set Zeile = ZWS2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Zeile.Value = "Suchwort1"
End If
If Spalte Is Nothing Then
Set Spalte = ZWS2.Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
Spalte = "Suchwort2"
End If
QWS2.Range("M39").Copy
Intersect(Zeile.EntireRow, Zeile.EntireColum).PasteSpecial xlPasteValues
Anzeige
AW: Durchsuchen von Zeilen und Spalten mittels VBA
05.06.2018 15:27:04
Zeilen
Hi
du hast zwei Zeilen mit "Set Zeile".
es wäre also interessant zu wissen, in welcher Zeile der Fehler auftritt und wie genau die Fehlermeldung auftritt.
btw, wenn "Suchwort1" und "Suchwort2" Variablen sein sollen, dürfen sie nicht in Anführungszeichen stehen, sonst werden sie nicht als Variablen erkannt. Das .Find sucht dann nicht nach dem Inhalt der Variablen Suchswort1, sondern nach dem konkreten Text "Suchwort1".
Gruß Daniel
AW: Durchsuchen von Zeilen und Spalten mittels VBA
05.06.2018 21:39:15
Zeilen
Der Fehler tritt bei Set Spalte = ZWS2.Rows(1).Find.... auf. Es wird Index außerhalb des gültigen Bereich angezeigt.
Die Suchwörter2 sind entweder wörter wie UCS, E-Modul oder ähnliches und Suchwort 2 ist eine Probennummer wie zb. 0001_17_K03.
Anzeige
AW: Durchsuchen von Zeilen und Spalten mittels VBA
05.06.2018 23:17:24
Zeilen
schwer zu sagen.
wenn die Zeile drüber mit "Set Zeile = ..." funktioniert, dann vergleich mal beide Zeilen ganz genau, vielleicht hast du einen Tippfehler drin.
Verwendest du Option Explicit?
Wenn nein, solltest du das unbedingt tun.
warum und wieso steht hier: http://www.online-excel.de/excel/singsel_vba.php?f=4
gruß Daniel
AW: Durchsuchen von Zeilen und Spalten mittels VBA
06.06.2018 05:04:52
Zeilen
Hi Daniel,
Dein Code hat Korrekturbedarf:
Zeile 5: "xlwhole" statt "xlwohle"
Letzte Zeile: In "Zeile.EntireColum"
"EntireColumn" statt "EntireColum"
"Spalte" statt "Zeile"
Also
"Spalte.EntireColumn" statt "Zeile.EntireColum"
LGB
Anzeige
AW: Durchsuchen von Zeilen und Spalten mittels VBA
06.06.2018 11:44:54
Zeilen
Hey, vielen Dank für die Hilfe! Es funktioniert jetzt.
Nur leider habe ich noch ein kleines Problem..
Wenn Suchwort2 nicht gefunden wird, ist es nicht vorhanden. dann soll M39 nicht kopiert werden da dann die entsprechende Spalte fehlt.
wenn Suchwort2 nicht vorhanden ist bekomme ich jetzt nur eine Fehlermeldung das der intersect Befehl nicht funktioniert da Spalte Zeile nicht definiert werden konnte.
So sieht der Code jetzt aus:
Dim WBZiel As Workbook, ExportDatei As String
Dim WBQuelle As Workbook
Set WBQuelle = ThisWorkbook
Pfad = "C:\Users\---\Desktop\Masterfile_150518"
Set WBZiel = Workbooks.Open(Pfad)
Dim QWS As Worksheet, ZWS As Worksheet, QWS2 As Worksheet, QWS3 As Worksheet, ZWS2 As Worksheet
Set QWS = WBQuelle.Worksheets("Allgemeine Probeninformationen")
Set QWS2 = WBQuelle.Worksheets("Diagramme")
Set QWS3 = WBQuelle.Worksheets("Druckversion_DE")
Set ZWS = WBZiel.Worksheets("Uebersicht")
Set ZWS2 = WBZiel.Worksheets("UCS")
Dim Zeile As Range
Dim Spalte As Range
Dim Suchwort1 As String
Dim Suchwort2 As String
Suchwort1 = QWS2.Range("L5")
Suchwort2 = "UCS"
Set Zeile = ZWS2.Columns(1).Find(what:=Suchwort1, lookat:=xlWhole, LookIn:=xlValues)
Set Spalte = ZWS2.Rows(1).Find(what:=Suchwort2, lookat:=xlWhole, LookIn:=xlValues)
If Zeile Is Nothing Then
ZWS2.Rows(4 + 1).Insert
Set Zeile = ZWS2.Cells(5, 1)
Zeile.Value = Suchwort1
End If
If Spalte Is Nothing Then
MsgBox "Fehler! Suchwort2 nicht vorhanden", vbInformation + vbOKOnly, "Info"
End If
QWS2.Range("M39").Copy
Intersect(Zeile.EntireRow, Spalte.EntireColumn).PasteSpecial xlPasteValues
End Sub
Anzeige
AW: Durchsuchen von Zeilen und Spalten mittels VBA
06.06.2018 13:50:03
Zeilen
Habs mit einem GoTo Befehl gelöst! Aber noch einmal vielen Dank für eure Hilfe!
AW: Durchsuchen von Zeilen und Spalten mittels VBA
06.06.2018 14:03:52
Zeilen
Hi
dann musst du die ganze Abfrage staffeln:
- zuerst prüfen, ob Suchwort2 gefunden wurde und wenn nein, Meldung ausgeben und nichts machen
- dann prüfen, ob Suchwort1 gefunden wurde und wenn nein, dieses ergänzen
- Wert eintragen
hierbei ist auf die richtig Anordnung der Befehle in die IF-Then-Struktur zu achten:
...
Suchwort1 = QWS2.Range("L5")
Suchwort2 = "UCS"
Set Spalte = ZWS2.Rows(1).Find(what:=Suchwort2, lookat:=xlWhole, LookIn:=xlValues
If spalte is Nothing then
MsgBox "Fehler! Suchwort2 nicht vorhanden", vbInformation + vbOKOnly, "Info"
Else
Set Zeile = ZWS2.Columns(1).Find(what:=Suchwort1, lookat:=xlWhole, LookIn:=xlValues)
If Zeile is Nothing then
ZWS2.Rows(4 + 1).Insert
Set Zeile = ZWS2.Cells(5, 1)
Zeile.Value = Suchwort1
end if
QWS2.Range("M39").Copy
Intersect(Zeile.EntireRow, Spalte.EntireColumn).PasteSpecial xlPasteValues
end if

Anzeige

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige