Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 438

Forumthread: Laufzeitfehler 438

Laufzeitfehler 438
Ramon
Hallo zusammen,
ich brauche bitte mal wieder Eure Hilfe.
Ich habe 2 Excel Dateien. A.xls und B.xls
In A.xls ist eine gigantisch lange Liste, die aufgrund eines bestimmten Eintrages in Spalte A
auf verschiedenene Tabellenblätter in B.xls aufgeteilt werden soll.
Sub daten_verteilen()
Dim intz As Integer
Dim suchwert, wert2, wert3 As String
Dim strTabelle As String
For intz = 10 To _                    '(die ersten 9 Zeilen enthalten einen Überschriften)
Workbooks("A.xls").Sheets("Tabelle1").UsedRange.Rows.Count
suchwert = Cells(intz, 1).Value
wert2=Cells(intz, 2).value
wert3=cells(intz, 3).value
Select Case suchwert
Case "Schulze", strTabelle = Workbooks("B.xls").Sheets("Schulze")     'ZEILE WIRD ANGEMECKERT
Case "Schmidt", strTabelle = Workbooks("B.xls").Sheets("Schmidt")     'ZEILE WIRD ANGEMECKERT
Case "Mueller", strTabelle = Workbooks("B.xls").Sheets("Mueller")      'ZEILE WIRD ANGEMECKERT
End Select
intmax = Application.WorksheetFunction.CountA(Sheets(strTabelle).Columns("A:A"))
With Sheets(strTabelle)
.Cells(intmax + 4, 1).Value = suchwert       '(Die ersten 4 Zeilen enthalten Überschriften)
.Cells(intmax + 4, 2).Value = wert2       '(Die ersten 4 Zeilen enthalten Überschriften)
.Cells(intmax + 4, 2).Value = wert3       '(Die ersten 4 Zeilen enthalten Überschriften)
End With
Next intz
End Sub

In den Case-Anweisungen scheint der Wechsel zur anderen Datei so nicht zu funktionieren.
Fehler 438 = "Objekt unterstützt diese Eigenschaft oder Methode nicht" wird mir angezeigt.
Kann mir jemand weiterhelfen?
Vielen Dank!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Äpfel und Birnen!
09.08.2011 16:27:06
Josef

Hallo Ramon,
du versuchst einem String ein Worksheetobjekt zuzuweisen, außerdem ist die Case-Abfrage falsch.
Sub daten_verteilen()
  Dim lngRow As Long, lngMax As Long
  Dim suchwert As String, wert2 As Variant, wert3 As Variant
  
  '(die ersten 9 Zeilen enthalten einen Überschriften)
  For lngRow = 10 To Workbooks("A.xls").Sheets("Tabelle1").UsedRange.Rows.Count
    suchwert = Cells(lngRow, 1).Value
    wert2 = Cells(lngRow, 2).Value
    wert3 = Cells(lngRow, 3).Value
    
    lngMax = Application.WorksheetFunction.CountA(Workbooks("B.xls").Sheets(suchwert).Columns("A:A"))
    
    With Sheets(strTabelle)
      .Cells(lngMax + 4, 1).Value = suchwert '(Die ersten 4 Zeilen enthalten Überschriften)
      .Cells(lngMax + 4, 2).Value = wert2 '(Die ersten 4 Zeilen enthalten Überschriften)
      .Cells(lngMax + 4, 2).Value = wert3 '(Die ersten 4 Zeilen enthalten Überschriften)
    End With
  Next
  
End Sub



'oder

Sub daten_verteilen_kompliziert()
  Dim lngRow As Long, lngMax As Long
  Dim suchwert As String, wert2 As Variant, wert3 As Variant
  Dim objSH As Worksheet
  
  For lngRow = 10 To Workbooks("A.xls").Sheets("Tabelle1").UsedRange.Rows.Count
    
    suchwert = Cells(lngRow, 1).Value
    wert2 = Cells(lngRow, 2).Value
    wert3 = Cells(lngRow, 3).Value
    
    Select Case suchwert
      Case "Schulze": Set objSH = Workbooks("B.xls").Sheets("Schulze") 'ZEILE WIRD ANGEMECKERT
      Case "Schmidt": Set objSH = Workbooks("B.xls").Sheets("Schmidt") 'ZEILE WIRD ANGEMECKERT
      Case "Mueller": Set objSH = Workbooks("B.xls").Sheets("Mueller") 'ZEILE WIRD ANGEMECKERT
    End Select
    
    lngMax = Application.WorksheetFunction.CountA(objSH.Columns("A:A"))
    
    With Sheets(strTabelle)
      .Cells(lngMax + 4, 1).Value = suchwert '(Die ersten 4 Zeilen enthalten Überschriften)
      .Cells(lngMax + 4, 2).Value = wert2 '(Die ersten 4 Zeilen enthalten Überschriften)
      .Cells(lngMax + 4, 2).Value = wert3 '(Die ersten 4 Zeilen enthalten Überschriften)
    End With
  Next
  
End Sub



« Gruß Sepp »

Anzeige
AW: Äpfel und Birnen!
09.08.2011 16:59:01
Ramon
Ach super, dankeschön! Jetzt funktioniert's.
Gruß,
Ramon
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige