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

Object required und Bedingungen durchlaufen

Object required und Bedingungen durchlaufen
26.07.2016 21:36:31
hilde
Halli Hallo,
habe ein Problem mit meinem VBA Code bzw. mit der Loesung des Problems...
Bin noch ein Neuling in der VBA-Welt.
Mein Problem ist es, dass ich von einer Datei mit Infos (siehe Link Sheet:src)
Daten in ein Layout (siehe dst) bekommen moechte. Dabei ist fuer jede Item# ein Sheet mit dem Layout angelegt.
Jetzt moechte ich wenn die Item# von der Datei "src" mit der in der Layout Datei "dst" auf einem der zielsheets(Voreingetragen) uebereinstimmt, bestimmte Daten (siehe Code) aus der selben Zeile der "src" in bestimmte Felder der Layouts uebertragen.
Ein Layout ist ein Sheet fuer eine Item# (vorgegeben).
Bitte um Hilfe.
https://www.herber.de/bbs/user/107239.xlsx
Private Sub CommandButton1_Click()
Dim src As Workbook
Dim dst As Workbook
Dim ChFile As Variant
Dim dstFile As Variant
Dim ws As Worksheet
Dim x As Integer
Dim shname As String
dstFile = Application.GetOpenFilename
If dstFile = False Then
MsgBox "Action canceled!"
Exit Sub
End If
Set dst = Workbooks.Open(dstFile)
ChFile = Application.GetOpenFilename
If ChFile = False Then
MsgBox "Action canceled!"
Exit Sub
End If
Set src = Workbooks.Open(ChFile)
dst.Activate
For Each ws In dst.Sheets
Set ws = dst.ActiveSheet
With ws
shname = dst.ActiveSheet.Name
LRow = src.Sheets("Sheet1").Range("b" & Rows.Count).End(xlUp).Row
Dim y As Range
Dim z As Range
Set z = src.Sheets("Sheet1").Range("b2:b" & LRow & "")
****Bei dieser Zeile: "Set y" bekomme ich Fehler: "Object required"****
Set y = dst.Sheets(shname).Range("y5").Value
x = Formula = "=MATCH(y,z,0)"
If IsEmpty(dst.ActiveSheet.Range("ap5").Value) = True Then
dst.ActiveSheet.Range("ap5") = src.Sheets("Sheet1").Cells(x, 11)
End If
'Insert Vendor Name
If IsEmpty(dst.ActiveSheet.Range("n6").Value) = True Then
dst.ActiveSheet.Range("n6") = src.Sheets("Sheet1").Cells(x, 12)
End If
'Insert Abbrev. Title
If IsEmpty(dst.ActiveSheet.Range("n7").Value) = True Then
dst.ActiveSheet.Range("n7") = src.Sheets("Sheet1").Cells(x, 13)
End If
'Insert Title row 11
If IsEmpty(dst.ActiveSheet.Range("n11").Value) = True Then
dst.ActiveSheet.Range("n11") = src.Sheets("Sheet1").Cells(x, 14)
End If
'Checkbox checked New Setup/Modification
If dst.ActiveSheet.CheckBoxes("Check Box 8").Value = False And dst.ActiveSheet.CheckBoxes(" _
Check Box 9").Value = False And src.Sheets("Sheet1").Cells(x, 9).Value Like "*etup*" Then
dst.ActiveSheet.CheckBoxes("Check Box 8").Value = True
ElseIf dst.ActiveSheet.CheckBoxes("Check Box 8").Value = False And dst.ActiveSheet.CheckBoxes(" _
Check Box 9").Value = False And src.Sheets("Sheet1").Cells(x, 9).Value Like "*cation*" Then
dst.ActiveSheet.CheckBoxes("Check Box 9").Value = True
End If
End with
Next ws
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Object required und Bedingungen durchlaufen
01.08.2016 21:53:06
Matthias
Hallo! Lass in der Zeile mit dem Fehler das set einfach mal weg. Meines Erachtens weißt du y nur einen Wert zu. Da ist aber drei Zeilen höher die Deklaration auch schon nicht richtig. Du legst y als range an, weißt aber einen value zu. Da mal entscheiden was du genau für einen Wert haben willst und entsprechend das set weglassen. VG
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige