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

Makro Sverweis

Makro Sverweis
13.09.2018 11:36:34
Tim
Hallo, ich habe ein Makro welches mir eine Tabelle öffnet, daraus mir relevante Daten kopiert und in eine neue Tabelle einfügt, anschließend schließt sich das Makro die Ursprungstabelle. Das funktioniert perfekt. Jetzt möchte ich aber noch, dass er mir in Zelle (Bsp. B1 in der geöffneten Tabelle) den Wert ausliest und und ihn mit einer Vorlage (Vorlage befindet sich in der Tabelle mit dem Makro) vergleich, sind die beiden Werte Identisch, dann findet er das Ergebnis in Spalte 3 der Vorlage, mit der er den Wert vergleichen soll (quasi ein SVERWEIS). Anschließend soll er das Ergebnis in einer MSGBox ausgeben. Wer kann mir sagen wie ich das einbaue?
Option Explicit
Sub b()
Dim WbQ As Workbook, WbZ As Workbook, WsQ As Worksheet
Dim WsZ As Worksheet, tQ As ListObject, Pfad$
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Bitte einzulesende Datei wählen..."
.AllowMultiSelect = False
If .Show  -1 Then
MsgBox "Vorgang abgebrochen!", vbInformation
Exit Sub
Else: Pfad = .SelectedItems(1)
End If
End With
Application.ScreenUpdating = False
Set WbQ = Workbooks.Open(Pfad)
Set WsQ = WbQ.Worksheets(1)
Set WbZ = Workbooks.Add(template:=xlWBATWorksheet)
Set WsZ = WbZ.Worksheets(1)
With WsQ.Range("A8").CurrentRegion.Columns(1)
.Offset(2, 1).Resize(.Rows.Count, 1).Copy
WsZ.Cells(1, 2).PasteSpecial (xlPasteValuesAndNumberFormats)
.Offset(2, 2).Resize(.Rows.Count, 1).Copy
WsZ.Cells(1, 3).PasteSpecial (xlPasteValuesAndNumberFormats)
.Offset(2, 4).Resize(.Rows.Count, 1).Copy
WsZ.Cells(1, 12).PasteSpecial (xlPasteValuesAndNumberFormats)
WsZ.Cells(2, 5).Resize(WsZ.Cells(WsZ.Rows.Count, 2).End(xlUp).Row - 1, 1) = " _
erl."
End With
With WsZ
.Activate
.Cells(1, 1) = "Test"
.Cells(1, 2) = "Test1"
.Cells(1, 3) = "Test2"
.Cells(1, 4) = "Test4"
End With
Set WbQ = Nothing: Set WbZ = Nothing: Set WsQ = Nothing
Set WsZ = Nothing: Set tQ = Nothing
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Sverweis
13.09.2018 17:58:38
ChrisL
Hi Tim
SVERWEIS in VBA (gleicher Aufbau wie die Formel):
WorksheetFunction.VLookup(Suchwert, WsXY.Range("A:B"), 2, 0)
cu
Chris
AW: Makro Sverweis
17.09.2018 08:07:18
Tim
Hallo ChrisL, ich habe mich daran versucht, jedoch komme ich nicht zum Ergebnis. Der Suchwert für den SVERWEIS liegt in WsQ.Range ("X1"), die Matrix in der er das Ergebnis findet ist in der Tabelle aus dem das Makro gestartet wird (Tabelle3). Das Ergebnis soll anschließend in einer MsgBox erscheinen. Wo und wie baut man das in den bestehenden Code ein?
AW: Makro Sverweis
17.09.2018 08:14:52
ChrisL
Hi
MsgBox WorksheetFunction.VLookup(WsQ.Range("X1"), ThisWorkbook.Worksheets("Tabelle3").Range("A:B"), 2, 0)
Wo weiss ich auch nicht, da mir der Ablauf nicht im Detail bekannt ist.
cu
Chris
Anzeige
AW: Makro Sverweis
17.09.2018 10:08:34
Tim
Okay, habe es einbauen können und wie kann ich davor noch "WENNFEHLER" einsetzen?
AW: Makro Sverweis
17.09.2018 10:34:22
ChrisL
If WorksheetFunction.CountIf(ThisWorkbook.Worksheets("Tabelle3").Columns(1), WsQ.Range("X1")) = 0 Then
MsgBox "nix da"
Else
MsgBox WorksheetFunction.VLookup(WsQ.Range("X1"), ThisWorkbook.Worksheets("Tabelle3").Range("A:B"), 2, 0)
End If
AW: Makro Sverweis
17.09.2018 11:45:08
Tim
Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige