Collapse column

Autor Thema: Office 2010: Fehlermeldung  (Gelesen 1181 mal)

Offline Alsacehauck2

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Fehlermeldung
« am: August 14, 2013, 20:59:49 Nachmittag »
Hallo liebes Forum,
ich habe folgendes Problem:
Ich hab zwei Excelliste und für eine von beiden möchte ich ein Makro schreiben.
Liste 1 hat in Spalte C Seriennummern und in Spalte H sind die dazugehörigen Preise.
Liste 2 hat in Spalte B die Seriennummern und in Spalte M neue Preise.
Nun möchte ich, dass mein Makro mir die alten Preise ( Liste 1 Spalte H) duch die neuen Preise ( Liste 2 Spalte M ) automatisch ersetzt. Die Seriennummer der Liste zwei sind nicht in der selben Reihenfolge angeordnet wie die der Liste 1.

Nun habe ich folgende Vba geschrieben :

Sub Aktualisieren()
Dim c As Range
For Each c In Workbooks("Liste1.xls").Worksheets("Tabelle2").Range("B10","B2100")
For Each c2 In Workbooks("Liste2.xls").Worksheets("Tabelle1").Range("M10", "M2100")
If c = c2 Then
c2.Offset(0, 5).Value = c.Offset(0, 11).Value
End If
Next
Next
End Sub

Die Fehlermeldung taucht in der erste "for each" Zeile auf.
Das Problem ist dass ich jetzt die Fehlermeldung : Laufzeitfehler "9" Index außerhalb des gültigen Bereichs erhalte.
Und ich finde einfach meinen Fehler nicht. Wäre sehr nett wenn Ihr mir helfen könntet.
« Letzte Änderung: August 14, 2013, 21:21:41 Nachmittag von Alsacehauck2 »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Office 2010: Fehlermeldung
« Antwort #1 am: August 16, 2013, 10:44:19 Vormittag »
Hallo Alsacehauck2,

Variablen solltest Du immer deklarieren. Das hattest Du mit der Variable c auch gemacht, c2 jedoch nicht.
Der Fehler deutet zudem darauf hin, dass ein Name nicht stimmt. Hast Du vielleicht einen Tippfehler beim
Dateinamen bzw. Tabellennamen? Und, beide Mappen müssen geöffnet sein.

Anbei ein leicht modifizierter Code, den ich nicht getestet habe.
Code: Visual Basic
  1. Sub Aktualisieren()
  2.  
  3.   Dim c As Range
  4.   Dim c2 As Range
  5.  
  6.   For Each c In Workbooks("Liste1.xls").Worksheets("Tabelle2").Range("B10", "B2100")
  7.  
  8.     For Each c2 In Workbooks("Liste2.xls").Worksheets("Tabelle1").Range("M10", "M2100")
  9.      
  10.       If c.Value = c2.Value Then
  11.        
  12.         c2.Offset(0, 5).Value = c.Offset(0, 11).Value
  13.        
  14.       End If
  15.      
  16.     Next
  17.    
  18.   Next
  19.  
  20. End Sub
Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.