Microsoft Excel

Herbers Excel/VBA-Archiv

Werte aus Spalte auf anderem Blatt mittels VBA

Betrifft: Werte aus Spalte auf anderem Blatt mittels VBA von: Mario Auth
Geschrieben am: 31.07.2014 09:51:52

Hallo zusammen,
ich suche Hilfe für folgendes Problem, welches ich angefügt habe: https://www.herber.de/bbs/user/91803.xlsm

In den Spalten "Base OE" und "Base DL" sollen Werte eintragen werden, welche sich auf dem nächsten Tabellenblatt befinden (nämlich Baseline OE-Yield und DL-Yield). Dabei soll auf dem Blatt Baseline nach dem Code bzw. TIC gesucht bzw. zugeordnet werden. Das Ganze soll mittels Makro funktionieren, da sich die Daten auf dem Blatt Baseline täglich ändern. Einen “Sverweis“ möchte hier nicht einsetzen.

Vielen Dank im Voraus

  

Betrifft: AW: Werte aus Spalte auf anderem Blatt mittels VBA von: Robert
Geschrieben am: 31.07.2014 10:18:51

Hallo Mario,

Warum möchtest du keinen Sverweis benutzen?

Bei einer Änderung in deinem Sheet "Baseline Oe Yield" und dem anderen werden die Änderung mittels Sverweis automatisch übernommen, ein Makro musst du eben in regelmäßigen abständen manuell antriggern, um die Zellen upzudaten.

viele Grüße
Robert


  

Betrifft: AW: Werte aus Spalte auf anderem Blatt mittels VBA von: Dieter Klemke
Geschrieben am: 31.07.2014 15:41:29

Hallo Mario,
wenn du das gern per VBA machen willst, dann kannst du dazu das folgende Programm verwenden:

Sub Werte_übernehmen()
  Dim fehl As Boolean
  Dim letzteZeileA As Long
  Dim wsA As Worksheet
  Dim wsB As Worksheet
  Dim zeileA As Long
  Dim zeileB As Long
  
  Set wsA = ThisWorkbook.Worksheets("Auswertung")
  Set wsB = ThisWorkbook.Worksheets("Baseline")
  letzteZeileA = wsA.Cells(wsA.Rows.Count, "A").End(xlUp).Row
  If letzteZeileA < 19 Then Exit Sub
  For zeileA = 19 To letzteZeileA
    If Not IsEmpty(wsA.Cells(zeileA, "A")) Then
      zeileB = Zugriff(Suchbegriff:=wsA.Cells(zeileA, "A"), _
                       Datenbereich:=wsB.Columns("B"), _
                       Fehler:=fehl)
      If Not fehl Then
        wsA.Cells(zeileA, "H") = wsB.Cells(zeileB, "I")
        wsA.Cells(zeileA, "I") = wsB.Cells(zeileB, "J")
      Else
        wsA.Cells(zeileA, "H") = "nicht vorh."
        wsA.Cells(zeileA, "I") = "nicht vorh."
      End If
    End If
  Next zeileA
End Sub

Function Zugriff(Suchbegriff As String, _
                Datenbereich As Range, _
                Fehler As Boolean) As Long
  
  ' Funktion zur Ermittlung der Zeilen-Nr.
  ' zum Suchbegriff
    
  Fehler = False
  On Error GoTo Fehlerbeh
  Zugriff = Application.WorksheetFunction. _
        Match(Suchbegriff, Datenbereich, 0)
  On Error GoTo 0
  Exit Function
Fehlerbeh:
  Fehler = True
End Function
Viele Grüße
Dieter


 

Beiträge aus den Excel-Beispielen zum Thema "Werte aus Spalte auf anderem Blatt mittels VBA"