Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mit VBA Namen in zwei Arbeitsmappe vergleichen und Zellen kopieren
#1

.xls   Rohdaten.xls (Größe: 29,5 KB / Downloads: 2)
.xlsx   Zahlen.xlsx (Größe: 7,99 KB / Downloads: 2) Hallo liebe Forummitglieder,

ich habe hier ein kleines VBA Problem Huh . Ich habe einen automatischen Report in einer Arbeitsmappe mit dem Namen Rohdaten. 
Des Weiteren habe ich eine zweite Arbeitsmappe mit dem Namen Zahlen. In beiden Arbeitsmappen sind Namen.

Nun möchte ich in der Arbeitsmappe Zahlen ein Makro laufen lassen, dass folgendes tut.

Es soll geprüft werden, ob die Namen aus der Arbeitsmappe Zahlen in der Arbeitsmappe Rohdaten vorhanden sind. Wenn ja, soll aus der Mappe Rohdaten der entsprechende Wert aus der Zelle in Spalte L und Spalte AG hinter den Namen in der Arbeitsmappe Zahlen kopiert werden.

Leider kann ich an der Formatierung der Arbeitsmappe Rohdaten nichts ändern, da ich diese so bekomme.

Eventuell hat ja von euch einer eine Idee.

Vielen Dank für eure Hilfe, 

Gruß Mario
Antworten Top
#2
Hallo,

versuche diesen Code, der Pfadname muss angepasst werden:


Code:
Sub Mario20160811()
Dim WBQ As Workbook
Dim WBZ As Workbook
Dim rng As Range
sPath = "z:\Foren\" '<<<<<<<<<<<<< anpassen

Set WBQ = Workbooks.Open(sPath & "Rohdaten.xls")
Set WBZ = Workbooks.Open(sPath & "Zahlen.xlsx")

With WBZ.Sheets(1)
   lr = .Cells(Rows.Count, "B").End(xlUp).Row
   For i = 6 To lr
       Set rng = WBQ.Sheets(1).Columns("A:C").Find(.Cells(i, "B"), LookIn:=xlValues, lookat:=xlPart)
       If Not rng Is Nothing Then
           WBQ.Sheets(1).Cells(rng.Row, "L").Copy .Cells(i, "C")
           WBQ.Sheets(1).Cells(rng.Row, "AF").Copy .Cells(i, "D")
       End If
   Next i
End With

Set WBQ = Nothing
Set WBZ = Nothing
End Sub


mfg
Antworten Top
#3
Hat super funktioniert, ich danke dir, du bist mein Held  :18:

Schönen Abend noch Gruß Mario
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste