Clever-Excel-Forum

Normale Version: Makro funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen

Ich bin mit meinem Makro-Latein am Ende :22:
Mit dem unten angefügten Makro-Code sollen mittels Button der gleiche Text, welcher in der Eingabemaske hinterlegt wird gleichzeitig in 11 Tabellenblätter hineinkopiert werden.
Leider wir der Text nur in 8 hineinkopiert. Hat jemand anhand des Codes eine Idee warum der Text nicht überall hineinkopiert wird?

Immer bei dieser Zeile wird mit ein Fehler angezeigt > With Worksheets(vTabName(i)). > Ist unten beim Block 'Einfügen in die erste leere Zeile auf allen Zieltabellen'

Code:
Sub GL_Mitglieder()
   '
   ' Pendenz_kopieren Makro
   '
   Dim loLetzteQuelle As Long
   Dim loLetzteZiel As Long
   Dim vTabName As Variant
   Dim i As Integer
   Dim vInput As Variant
   
   vTabName = Array("Marke_Kommunikation", "Americas", "Kundendienst", "Forschung_Entwicklung", "Finance_Administration", "Asia_Pacific", "EMEA", "CEO", "Product_Management", "Corporate_Development", "SCM")  '  Namen der Zieltabellen
   '
   With Sheets("Eingabemaske")
       'feststellen der letzten belegten Zeile in Spalte A (1)
       loLetzteQuelle = .Cells(.Rows.Count, 1).End(xlUp).Row
     
       'die letzte belegte Quell-Zeile wird kopiert
        vInput = .Range("A" & loLetzteQuelle & ":E" & loLetzteQuelle)  'Einlesen der Daten
   End With
   
 
   'Einfügen in die erste leere Zeile  auf allen Zieltabellen
   For i = 0 To UBound(vTabName)
    With Worksheets(vTabName(i))
      'feststellen der letzten belegten Zeile in Spalte A (1)
      loLetzteZiel = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
     .Range("A" & loLetzteZiel).Resize(, 5) = vInput
   End With
  Next
 
End Sub
 
Danke für eure Hilfe
Hallo,

sind die drei fehlenden Tabellennamen falsch geschrieben (z.B. im Reiter ist noch ein Leerzeichen hinter dem Namen)???
nein das habe ich auch schon alles kontrolliert.
ich vermute, dass der buchstabe i eine zahl (vermute 8 oder 9) darstellt. denn wenn ich die 3 letzten bereiche (Product_Management", "Corporate_Development", "SCM")  aus dem makro lösche funktioniert es.

Es steht auch die meldung "index ausserhalb des gültigen bereichs".

Leider geht das über meine makro-kenntnisse wie ich diese korrigieren kann damit der text auch noch in die 3 letzten tabellenblätter hinterlegt wird.
(17.06.2015, 14:16)Lena_88 schrieb: [ -> ]Es steht auch die meldung "index ausserhalb des gültigen bereichs".

das kommt bei mir immer, wenn ich einen anders geschriebenen Tabellennamen (schau mal bei Deinen bei den letzten 3 Tabellen) habe.
Hallo,

kopiere doch einfach die Tabellennamen (stehen im VBA-Fenster links in Klammern) in Dein Array, und lass das makro laufen bzw. prüfe nach, ob auch keine Leerzeichen irgendwo stehen.
(17.06.2015, 14:39)BoskoBiati schrieb: [ -> ]Hallo,

kopiere doch einfach die Tabellennamen (stehen im VBA-Fenster links in Klammern) in Dein Array, und lass das makro laufen bzw. prüfe nach, ob auch keine Leerzeichen irgendwo stehen.

Die Namen sollten meiner Meinung nach alle stimmen.
Damit nun alles etwas einfache geht, habe ich die Datei hochgeladen

Vielleicht entdeckt ihr den Fehler schneller als ich Blush
Hallo,

Du solltest vielleicht doch die Dir gegebenen Hinweise beherzigen!
Es sind die Leerzeichen.

Gruß Uwe
Sorry ich stehe echt auf dem Schlauch! Welche Leerzeichen soll ich den wegnehmen?
So ich habe den Fehler nun auch gefunden.
Sorry für die Umstände!

Aber vielen lieben Dank für eure Hilfe!