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

WVerweis

WVerweis
22.03.2018 11:40:47
Viveky
Hallo Zusammen,
ich bin ein VBA-Anfänger und konnte bis jetzt dank euren Beiträgen ganz gut zurechtkommen. Nun habe ich ein Problem, dass ich bei dem Folgenden Code nicht weiter komme.
Grundstruktur meiner Excel-Datei:
Tabelle 1: Auswahl_Baugruppe
Tabelle 2: Stundenkalkulation
Tabelle 3: Kosten (Kosten für Baugruppen - Datenbank für Tabelle 1)
Tabelle 4: Stunden (Arbeitsstunden für Baugruppen - Datenbank für Tabelle 2)
Mein Plan:
Anhand eines Makros kann ich die gewünschten Baugruppen in die Tabelle 1 hinzufügen. Nun möchte ich ein Makro für Tabelle 2 "Stundenkalkulation" erstellen. Dieses Makro geht in der Tabelle 1 die zweite Spalte Zelle für Zelle durch und übernimmt die Baugruppennamen (String) in die Tabelle 2. Nun sollen anhand der übernommenen Namen und mithilfe des Wverweises die restlichen Daten in die Tabelle 2 aus der Tabelle 4 übernommen werden.
Option Explicit
Sub Stundenkalkulation()
Dim Baugruppe As String
Dim spalte As Integer
Dim Buchstabe1 As String
Dim wert As String
Dim wert1 As String
Dim wert2 As String
Dim x As Integer
Dim y As Integer
'Die Tabelle 4 erweitert sich immer wieder, daher die Splate als Variable und einmalige  _
Berechnung reicht aus.
spalte = Sheets("Stunden").Cells(2, 30).End(xlToLeft).Column
Buchstabe1 = Cells(2, spalte).Select
wert = ActiveCell.Address
wert1 = Left(wert, 2)
wert2 = Right(wert1, 1)
For x = 2 To 30
Baugruppe = Sheets("Auswahl_Baugruppen").Range("B" & x)
Sheets("Stundenkalkulation").Range("A" & x) = Baugruppe
'**Die ursprüngliche Formel "=WVERWEIS(A3;Stunden!$B$2:$G$15;2;FALSCH)"
'**Beide Formel im Folgenden ausprobiert, aber es kommt immer wieder zum Anwendungs- oder  _
Objektdefinierterfehler
ActiveSheet.Range("B" & x) = "=WVERWEIS(A" & x & ";Stunden!$B$2:$" & Spalte & "$15;2;FALSCH)"
ActiveSheet.Range("C" & x) = "=WVERWEIS(A" & x & ";Stunden!$B$2:$" & Spalte & "$15;3;FALSCH)"
'Oder
ActiveSheet.Range("B" & x) = WorksheetFunction.HLookup(["A" & x], Sheets("Stunden").[B2:G15], 2, _
_
False)
ActiveSheet.Range("C" & x) = WorksheetFunction.HLookup(["A" & x], Sheets("Stunden").[B2:G15], 3, _
_
False)
Next x
End Sub

Es funktioniert alles hervorragend, bis auf den WVerweis.
Freundliche Grüße
Viveky

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WVerweis
22.03.2018 13:30:29
MCO
Hallo Viveky!
Schreibe statt
ActiveSheet.Range("B" & x) = "=WVERWEIS(A" & x & ";Stunden!$B$2:$" & Spalte & "$15;2;FALSCH)"
ActiveSheet.Range("C" & x) = "=WVERWEIS(A" & x & ";Stunden!$B$2:$" & Spalte & "$15;3;FALSCH)"
ActiveSheet.Range("B" & x).formulalocal = "=WVERWEIS(A" & x & ";Stunden!$B$2:$" & Spalte & "$15; _
2;0)"
ActiveSheet.Range("C" & x).formulalocal = "=WVERWEIS(A" & x & ";Stunden!$B$2:$" & Spalte & "$15; _
3;0)"

Gruß, MCO
Anzeige
AW: WVerweis
22.03.2018 16:19:08
Viveky
Hi MCO,
zunächst bedanke ich mich für die schnelle Antwort und deine Hilfsbereitschaft.
Ich habe die Formel im Code nach deinem Vorschlag angepasst, aber es funktioniert leider immer noch nicht und zeigt wieder Anwedungs- oder Objektdefinierter Fehler.
Viele Grüße
Viveky
AW: WVerweis
28.03.2018 08:27:17
MCO
Guten Morgen!
wir haben übersehen, dass die Anführungszeichen doppelt ausgeführt werden müssen, damit sie entsprechend angezeigt werden und dann nocheinmal um die Variablen zuzulassen.
ActiveSheet.Range("B" & x).FormulaLocal = "=WVERWEIS(""A" & x & """;Stunden!$B$2:$" & spalte & "$15; 2;0)"
Gruß, MCO
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige