Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
428to432
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
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Markieren-Kopieren...

Markieren-Kopieren...
14.05.2004 13:58:53
Joey
Hallo!
Wie soll ich das jetzt verständlich erklären?
Also, ich hab ein Workbook (nennen wir es "A") in welches Daten aus anderen (mehreren) Workbooks (nennen wir alle anderen "B") eingefügt werden sollen. Ziel ist, daß im Workbook "B" ein Button sein soll, der folgendes tut: Er markiert im 1. Workbook B einen bestimmen Bereich (B10:G100) und kopiert diese in Workbook A. Dann wird das 2. Workbook B geöffnet und wieder im Workbook A mittels Button der gleiche Berich aus dem 2. Workbook eingefügt usw. Jetzt ist es natürlich so, dass im Workbook A laufend Zeilen befüllt werden, d.h. es muß immer die erste leere Zeile gefunden werden, damit bestehende Einträge nicht überschrieben werden...
Weiters heißen alle Workbooks B unterschiedlich (Dateiname), das heißt, daß Workbook A erkennen muß, daß es auf das andere geöffnete Workbook zugreifen muss. Also kein Bezug auf einen bestimmten Dateinamen, sondern einfach nur aus dem zweiten geöffneten Workbook. Sind mehr Workbooks offen muß eine Fehlermeldung kommen, dass die Funktion nicht ausgeführt werden, weil zu viele Workbooks geöffnet sind.
Alles klar? Bitte Nachfragen wenn ich mich unverständlich ausgedrückt habe. Ich brauche wirklich dringend Hilfe!
Vielen Dank für die Unterstützung!
Grüße
Joey

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Markieren-Kopieren...
15.05.2004 10:09:45
Oberschlumpf
Hi Joey
Hab ich richtig verstanden?
Zuerst soll der Button in Workbook "B" sein, und dann in "A"?
Wenn das von Dir ein Tippfehler war, und der Button soll NUR im Workbook "A" stehen, Du also "nur" alle Daten aus den anderen Workbooks in Workbook "A" kopieren willst, dann versuch es doch mit der Dir-Funktion:
(Voraussetzung, alle Workbooks "B" befinden sich im gleichen Verzeichnis)


Sub ButtonInA
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdateing = False
lstrDateiName = Dir("DeinVerzeichnis\*.xls")
liZeile = 10
Do Until lstrDateiName = ""
Workbooks.Open "DeinVerzeichnis\" & lstrDateiName
Range("B10:G100").Copy
Workbooks(1).Activate
Range("B" & liZeile).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = liZeile + 91
lstrDateiName = Dir
Loop
Application.ScreenUpdateing = True
End Sub


Mi diesem Makro (ungetestet) werden aus einem bestimmten Verzeichnis nacheinander alle darin befindlichen Excel-Dateien geöffnet, und der Bereich B10:G100 in DAS Tabellenblatt kopiert, aus dem das Makro gestartet wurde. Danach wird zuerst die gerade geöffnete Excel-Datei ohne zu speichern geschlossen, und die nächste wird geöffnet
Konnte ich helfen?
(vllt musst Du anpassen/korrigieren, da ich dieses Makro nicht getestet habe)
Ciao
Thorsten
Anzeige
AW: Markieren-Kopieren...
15.05.2004 10:49:38
Joey
Hallo Thorsten!
Vorerst vielen Dank für Deine Unterstützung!!!
Ich hab das mal probiert, funktioniert aber noch nicht. Ich hab die "Testdatei" beigefügt, ich hoffe Du kannst diese öffnen.
Ich habe unter C:\ einen Ordner angelegt, der 'Aktivitäten' heißt, darin ist die Datei 'Gebietsleiter' (Workbook A) abgespeichert. In diesem Ordner ist dann noch ein untergeordneter Ordner namens 'Mitarbeiter', darin sind dann alle Workbooks B enthalten.
In der Datei Gebietsleiter ist der Button enthalten, der aus den Workbooks B die Dateien in Gebietsleiter einfügen soll. Ich habe diesem Button Deinen Code zugewiesen und angepasst. Wenn ich die Funktion ausführen will, passiert aber gar nichts...
Ich hab das allerdings auf einem anderen PC getestet (Office XP), daran kanns aber nicht liegen, oder?
Ich wäre Dir sehr dankbar, wenn Du mir da nochmal helfen könntest! Bitte!!!
Grüße
Joey
Anzeige
AW: Markieren-Kopieren...
15.05.2004 10:52:33
Joey
Hallo Thorsten!
So sieht mein angepasster Code aus:

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
IstrDateiName = Dir("C:\Aktivitäten\Gebietsleiter.xls")
liZeile = 10
Do Until lstrDateiName = ""
Workbooks.Open "C:\Aktivitäten\Mitarbeiter\" & lstrDateiName
Range("B10:G100").Copy
Workbooks(1).Activate
Range("B" & liZeile).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = liZeile + 91
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
End Sub

Grüße
Roland
Anzeige
AW: Markieren-Kopieren...
15.05.2004 12:43:52
Oberschlumpf
Hi Joey
Wo ist denn die Datei, die Du auf den Server geladeb hast?
Ich hab trotzden mal versucht, Deinen Code zu korrigieren

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktivitäten\Mitarbeiter\*.xls")
liZeile = 10
Do Until lstrDateiName = ""
Workbooks.Open "C:\Aktivitäten\Mitarbeiter\" & lstrDateiName
Range("B10:G100").Copy
Workbooks(1).Activate
Range("B" & liZeile).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = liZeile + 91
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
End Sub

Diesen Code musst Du, so wie er ist, in die Datei Gebietsleiter.xls einfügen. Sollte nun funktionieren.
Deine Fehler in Deinem angepassten Code:
1.
IstrDateiName = Dir("C:\Aktivitäten\Gebietsleiter.xls")
Die Variable heißt lstrDateiname und NICH IstrDateiname.
Das erste Zeichen ist ein kleines L und NICHT ein großes i - Du verstehst?
2.
IstrDateiName = Dir("C:\Aktivitäten\Gebietsleiter.xls")
So, wie die Zeile hier steht, wird mit der Dir-Funktion in dem Verzeichnis "C:\Aktivitäten" nach EINER xls-Datei m it dem Namen "Gebietsleiter.xls" gesucht und nicht, wie gewünscht, nach allen xls-Dateien, wobei der Name beliebig sein soll.
Die korrigierte Zeile
lstrDateiName = Dir("C:\Aktivitäten\Mitarbeiter\*.xls")
sucht im Verzeichnis "C:\Aktivitäten\Mitarbeiter" nach allen darin gespeicherten xls-Dateien.
Konnte ich Dir nun helfen?
Wenn nicht, lade die Datei mal hoch.
Ciao
Thorsten
Anzeige
AW: Markieren-Kopieren...
15.05.2004 13:10:58
Joey
Hi!
Funkt perfekt, vielen Dank!!!
Eine Sache muß ich aber noch klären. In den Workbooks (B) wird zwar immer ein bestimmter Bereich markiert und dann kopiert, nur können in einem Workbook 10 Zeilen, in einer anderen 50 und wieder in einer anderen 99 Zeilen befüllt sein. In Deinem Code zählt er aber immer +91. Das heißt, daß im Workbook A ein ziemliches Durcheinander entsteht, weil Zeilen leer bleiben können...
Wenn Du spontan eine Idee hast, wie ich immer die letzte befüllte, bzw. erste leere Zeile finde, dann wärs super, wenn du mir da nochmal helfen könntest, sonst klemm ich mich da mal selbst dahinter. Du hast mir schon enorm geholfen und ich will das nicht ausreizen...
Also nochmal vielen Dank, ich hab wieder was dazu gelernt!!!
Schöne Grüße aus Wien
Joey
Anzeige
AW: Markieren-Kopieren...
15.05.2004 14:01:00
Oberschlumpf
Hi Joey
...Du hast mir schon enorm geholfen und ich will das nicht ausreizen...
Grins, das ist schon ok so :-)
Um die erste leere Zelle in Workbook A zu "finden", lösche diese Zeile
liZeile = liZeile + 91
und ersetze sie mit diesem Code:
(voarausgetzt, in Spalte B in Workbook A steht IMMER ein Wert, bis zur ersten leeren Zelle in Spalte B)

liZeile = 1
Do Until Workbooks(1).Range("B" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
liZeile = liZeile + 1


Mit diesem Code wird in Workbook A zeilenweise der Inhalt in Zelle B geprüft.
Wenn in Zelle B ein Wert steht, wird der Inhalt liZeile um 1 erhöht.
Wenn irgendwann Zelle B leer ist, dann hast Du in liZeile den Wert DER Zeile mit dem letzten Wert.
Deswegen wird nach Loop noch mal 1 hinzuaddiert, um in Spalte B die erste leere Zelle zu erhalten.
Ich hoffe, ich habe mich nicht zu kompliziert ausgedrückt (passiert mir manchmal :-) )
Läufts jetzt richtig?
Ciao
Thorsten
Anzeige
AW: Markieren-Kopieren...
15.05.2004 15:15:59
Joey
Hi!
Mein Code sieht jetzt so aus:

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktivitäten\Mitarbeiter\*.xls")
liZeile = 10
Do Until lstrDateiName = ""
Workbooks.Open "C:\Aktivitäten\Mitarbeiter\" & lstrDateiName
Range("B10:G100").Copy
Workbooks(1).Activate
Range("B" & liZeile).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
'liZeile = liZeile + 91
liZeile = 1
Do Until Workbooks(1).Range("B" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
liZeile = liZeile + 1
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
End Sub


Wenn ich die Funktion nun ausführe, kommt ein Laufzeitfehler '438' "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Der Code wird bei
Do Until Workbooks(1).Range("B" & liZeile).Value = ""
angehalten und die Zeile gelb markiert.
Na, Du drückst Dich überhaupt nicht kompliziert aus, ich 'interpretier' Dich wohl nicht vollständig... ;-)
Grüße
Roland
Anzeige
AW: Markieren-Kopieren...
15.05.2004 17:14:02
Oberschlumpf
Hi Roland
Shit...war mein Fehler
Die Zeile
Do Until Workbooks(1).Range("B" & liZeile).Value = ""
musst Du ändern in
Do Until Workbooks(1).Sheets("DeinTabellenblatt").Range("B" & liZeile).Value = ""
Für "DeinTabellenblatt" musst Du DEN Blattnamen eintragen, in dem die Spalte B geprüft wird.
Oder wenn das Tabellenblatt das erste ist, dann kannst Du auch
Do Until Workbooks(1).Sheets(1).Range("B" & liZeile).Value = ""
schreiben.
Bis demnächst :-)
Ciao
Thorsten
AW: Markieren-Kopieren...
15.05.2004 17:44:31
Joey
Hi!
Na, da hast Dir jetzt was angefangen... ;-)
Mein Code sieht jetzt so aus:

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktivitäten\Mitarbeiter\*.xls")
liZeile = 10
Do Until lstrDateiName = ""
Workbooks.Open "C:\Aktivitäten\Mitarbeiter\" & lstrDateiName
Range("B10:G100").Copy
Workbooks(1).Activate
Range("B" & liZeile).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = 1
Do Until Workbooks(1).Sheets(1).Range("B" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
liZeile = liZeile + 1
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
End Sub

Ich hab drei Workbooks (B). Im ersten habe ich 100 Zeilen (von Spalte B - G) befüllt, im zweiten 14 Zeilen , im dritten 100.
Wenn ich jetzt die Funktion ausführe, dann passiert folgendes:

Aus dem ersten Workbook werden 90 Zeilen eingefügt, dann kommt eine Leerzeile, aus dem dritten Workbook werden ab Zeile 102 - wieder nur 90 Zeilen eingefügt. Aus dem zweiten Workbook wird gar nichts eingefügt! Bei Zeile 192 ist der letzte Eintrag. Verrückt, nicht?!?!
Jetzt sitzen wir am Samstag Nachmittag bei solch einem Thema... ich hoffe, Dein Leben ist sonst etwas "aufregender"!!! ;-)
Grüße
Roland
Anzeige
AW: Markieren-Kopieren...
15.05.2004 20:33:04
Oberschlumpf
Hi Roland
Versuch es mal hiermit:


Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktivitäten\Mitarbeiter\*.xls")
Do Until lstrDateiName = ""
   Workbooks.Open "C:\Aktivitäten\Mitarbeiter\" & lstrDateiName
   
   liZeile = 1
        Do Until Sheets(1).Range("B" & liZeile).Value = ""
            liZeile = liZeile + 1
        Loop
        
   Range("B2:G" & liZeile).Copy
   Workbooks(1).Activate
   
        If Range("B2").Value = "" Then
                Range("B2").Select
        End If
        
   ActiveSheet.Paste
   Application.CutCopyMode = False
   Workbooks(2).Close SaveChanges:=False
     
liZeile = 1
Do Until Workbooks(1).Sheets(1).Range("B" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
   Range("B" & liZeile).Select
   
   lstrDateiName = Dir
   Loop
Application.ScreenUpdating = True
End Sub


     Code eingefügt mit Syntaxhighlighter 2.5

Vorausgesetzt, dass in jeder Tabelle in Zeile 1 Überschriften stehen, wird nun auch in den B-Workbooks der Bereich ermittelt, in dem Werte vorhanden sind (außer Zeile 1, da, wie gesagt, Überschriften???)
Der Grund, warum in den großen Dateien nur 90 Zeilen übertragen wurden, ist der, da Du ja ganz am Anfang den Bereich B10:G100 vorgegeben hattest. Da können nicht 100 Zeilen erfasst werden.
Und wenn diese Änderungen auch nicht helfen, dann lad einfach mal alle Dateien als Bsp auf den Server, ok? :-)
Ciao
Thorsten
Anzeige
AW: Markieren-Kopieren...
16.05.2004 01:09:01
Joey
Hi!
Das mit den Arbeitsmappen auf einen Server klappt... Fehlermeldung: "Kein Upload möglich. Nur jpg. oder gfs."
Ich hab auf C:\ einfach einen Ordner angelegt namens Aktivitäten. In diesem Ordner ist das Workbook "GL" gespeichert. In diesem Workbook ("GL") habe ich eine Schaltfläche eingefügt, der ich Deinen Code zugewiesen habe.
Im Ordner 'Aktivitäten' habe ich dann noch einen untergeordneten Ordner namens 'Mitarbeiter'. In diesem untergeordneten Ordner sind dann drei Workbooks enthalten - WBA.xls, WBB.xls und WBC.xls. Von diesen drei Workbooks sollen eben die Daten in die Datei 'GL' eingefügt/reinkopiert werden.
Mit Deinem Code wird jetzt irgendwas, irgendwohin kopiert...
Vielleicht gibst Du mir eine E Mail-Addi, damit ich Dir das Zeug mal schicken kann!
Ich bewundere Deinen Ehrgeiz und finde es riesig das Du mir helfen willst. DANKE!
Wenn Du Dich wunderst warum ich so spät noch schreibe... Naja, ich war gerade im Kino und jetzt hab ich noch schnell nachgesehen, ob noch was kam von Dir und siehe da...
Aber jetzt muß ich echt aufhören, meine Freundin fordert mich schon zum dritten Mal auf ins Bett zu kommen. Du weißt was das bedeutet... ;-)
Schönen Sonntag!
Joey
AW: Markieren-Kopieren...
16.05.2004 01:10:51
Joey
Hi!
Das mit den Arbeitsmappen auf einen Server klappt... Fehlermeldung: "Kein Upload möglich. Nur jpg. oder gfs."
Ich hab auf C:\ einfach einen Ordner angelegt namens Aktivitäten. In diesem Ordner ist das Workbook "GL" gespeichert. In diesem Workbook ("GL") habe ich eine Schaltfläche eingefügt, der ich Deinen Code zugewiesen habe.
Im Ordner 'Aktivitäten' habe ich dann noch einen untergeordneten Ordner namens 'Mitarbeiter'. In diesem untergeordneten Ordner sind dann drei Workbooks enthalten - WBA.xls, WBB.xls und WBC.xls. Von diesen drei Workbooks sollen eben die Daten in die Datei 'GL' eingefügt/reinkopiert werden.
Mit Deinem Code wird jetzt irgendwas, irgendwohin kopiert...
Vielleicht gibst Du mir eine E Mail-Addi, damit ich Dir das Zeug mal schicken kann!
Ich bewundere Deinen Ehrgeiz und finde es riesig das Du mir helfen willst. DANKE!
Wenn Du Dich wunderst warum ich so spät noch schreibe... Naja, ich war gerade im Kino und jetzt hab ich noch schnell nachgesehen, ob noch was kam von Dir und siehe da...
Aber jetzt muß ich echt aufhören, meine Freundin fordert mich schon zum dritten Mal auf ins Bett zu kommen. Du weißt was das bedeutet... ;-)
Schönen Sonntag!
Joey
AW: Markieren-Kopieren...
16.05.2004 01:30:41
Oberschlumpf
Hi Joey
Gib mir Deine eMail-Addy. Ich mag meine hier nich für jeden zugänglich machen.
Bekomme schon genug Spam-Mail :-)
(nix für ungut an die ehrlichen hier...aber es gibt sicher auch hier das eine oder andere schwarze schaf ;-) )
Ciao
Thorsten
AW: Markieren-Kopieren...
16.05.2004 10:37:15
Joey
four2u@a1.net
AW: Markieren-Kopieren...
16.05.2004 13:40:01
Oberschlumpf
Hi Roland
Wie wär's mal mit.....selber nachdenken? :-)
Ich denk, Dein VBA-Level = Gut gibt Dir durchaus die Möglichkeit :-)
(musst ich mal loswerden...nix für ungut :-) )
Hier der korrigierte Code für einfügen in GL ab Zeile 14:


Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktivitäten\Mitarbeiter\*.xls")
Do Until lstrDateiName = ""
   Workbooks.Open "C:\Aktivitäten\Mitarbeiter\" & lstrDateiName
   
   liZeile = 14
        Do Until Sheets(1).Range("B" & liZeile).Value = ""
            liZeile = liZeile + 1
        Loop
        
   Range("B10:G" & liZeile).Copy
   Workbooks(1).Activate
   
        If Range("B14").Value = "" Then
                Range("B14").Select
        End If
        
   ActiveSheet.Paste
   Application.CutCopyMode = False
   Workbooks(2).Close SaveChanges:=False
     
liZeile = 14
Do Until Workbooks(1).Sheets(1).Range("B" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
   Range("B" & liZeile).Select
   
   lstrDateiName = Dir
   Loop
Application.ScreenUpdating = True
End Sub


     Code eingefügt mit Syntaxhighlighter 2.5

Is das OK so?
Ciao
Thorsten
AW: Markieren-Kopieren...
16.05.2004 13:45:42
Joey
Hallo Thorsten!
Jetzt paßt es perfekt! Ich weiß nicht, wie ich mich bedanken soll... VIELEN DANK!!!
Ich werde die nächsten Tage das Ganze mal mit "Echtdaten" realisieren und Dich über den weiteren Verlauf informieren!
Vielen Dank!
Grüße
Roland
würde mich freuen!...thx for feedback..oT
16.05.2004 14:31:59
Oberschlumpf
Oberschlumpf?
17.05.2004 11:09:54
Joey
Hi!
Ich habe das jetzt mit den "Echtdaten" versucht, funkt aber leider nicht... ich kapier das nicht!
Mein Code:

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Aktiv\Ma\*.xls")
Range("F9:U1000").ClearContents
Do Until lstrDateiName = ""
Workbooks.Open "C:\Aktiv\Ma\" & lstrDateiName
liZeile = 9
Do Until Sheets(1).Range("F" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("B10:U" & liZeile).Copy
Workbooks(1).Activate
If Range("F9").Value = "" Then
Range("F9").Select
End If
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = 9
Do Until Workbooks(1).Sheets(1).Range("F" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("F" & liZeile).Select
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
Range("P1") = Date & ", " & Time
Range("E1").Select
End Sub

Auf diesem Server liegt das Workbook:

Die Datei https://www.herber.de/bbs/user/6443.xls wurde aus Datenschutzgründen gelöscht

Es werden zwar aus dem ersten Workbook die Daten eingefügt, aber in irgendwelchen Zellen. Aus dem zweiten und dritten Workbook werden die Daten gar nicht eingefügt.
Noch was: es sollen nur die Werte eingefügt. Alsi die Funktion 'rechte Maustaste - Inhalte einfügen - Einfügen Werte'. Es ist sind Formeln hinterlegt, die mich aber nicht interessiern, ich will eben nur die Werte!
Kannst Du mir bitte noch einmal helfen?!!
Lg
Joey
AW: Oberschlumpf?
17.05.2004 11:56:57
Oberschlumpf
Hi Roland
Habe Deine Bsp-Datei runtergeladen, und nach einigen Code-Veränderungen werden nun auch bei mir wieder die WBA-WBC-Werte aus C:\Aktiv\MA in die Tabelle mit dem Namen "Daten" korrekt eingefügt.
Was ich nicht versethe, ist dieser VBA-Block aus DEINEM Code:

liZeile = 9
Do Until Sheets(1).Range("F" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("B10:U" & liZeile).Copy

Warum liZeile = 9, wenn in der Range-Zeile erst ab Zeile 10 markiert wird??
Oder hast Du nur vergessen, auch in Range den Bereich von B10:U in B9:U zu ändern?
Ich musste jedenfalls in jeder WB(a/b/c)-Tabelle in die Zelle F9 einen Wert eintragen, da ich Deinen Code an oben beschriebener Stelle nicht geändert hatte.
Also...
...entweder musst Du die Zeile

liZeile = 9

in

liZeile = 10

ändern
...oder Du musst a) die Zeile

Range("B10:U" & liZeile).Copy

in

Range("B9:U" & liZeile).Copy

ändern,
und b) in jeder WB(a/b/c)-Tabelle mindestens in Zelle F9 einen Wert hinzufügen.
2. Code-Änderung:
die Zeile

Do Until Workbooks(1).Sheets(1).Range("F" & liZeile).Value = ""

funktioniert so nur, wenn auch das Tabellenblatt, in das die Werte eingefügt werden sollen, an erster Stelle steht -->Sheets(1)
Da aber in Deiner neuen Bsp-Datei das entsprechende Blatt NICHT an erster Stelle steht, werden die Daten in das Blatt "Übersicht VG" eingefügt. Das "richtige" Tabellenblatt befindet sich hier erst an der dritten Stelle.
Da ich nicht weiß, ob auch in der Echtdaten-Datei das "gesuchte" Tabellenblatt an der dritten Stelle steht, aber davon ausgehe, dass der Blattname identisch ist, habe ich die Befehlszeile SO geändert:

Do Until Workbooks(1).Sheets("Daten").Range("F" & liZeile).Value = ""

Auch das "Problem" mit dem Wunsch "nur Werte, aber nicht Formeln und/oder Formate einzufügen" ist gelöst.
Und hier ist die von mir korrigierte Version:
https://www.herber.de/bbs/user/6444.xls
Bin ja nun neugierig, was als nächstes kommt :)
Ciao
Thorsten
AW: Oberschlumpf?
17.05.2004 13:24:41
Joey
Hi!
Okay, es funkt!!!!!
Du bist also neugierig was als nächstes kommt? Na da will ich dich nun wirklich nicht länger warten lassen. ;-)
Eine Sache ist da tatsächlich noch, die ich selbst jetzt erfahren habe (sind ja nicht meine Workbooks). Leider funkt der Upload bei 'Datei auf Server' wieder nicht, sonst hätte ich dir die Datei wieder zukommen lassen können...
Es ist so: In den Dateien im Ordner 'Ma', als jenen Workbooks, wo die Daten mittels deinem Code markiert, kopiert und in der Zieldatei eingefügt werden, bestehen in den Zellen A9:D50000 bereits vordeffinierte Einträge. Ab der Spalte F passieren dann erst die Einträge.
Das bedeutet, dass der Code erkennen müßte, dass eine Zeile nur dann eingefügt wird, wenn in der Spalte F ein Eintrag vorhanden ist.
So wie jetzt erkennt der Code dass in Spalte ein Eintrag vorhanden ist und kopiert alles. Dieser Eintrag in A ist aber immer vorhanden...
Werde ich jetzt schon unverschämt?
Grüße
Joey
AW: Oberschlumpf?
17.05.2004 13:36:10
Oberschlumpf
Hi Joey
unverschämt???
Ist, glaub ich, noch höflich ausgedrückt :-)
Nein, Spaß.
Erstelle einen neuen Thread mit Deiner Frage, da dieser hier doch schon sehr lang und unübersichtlich ist :-)
Versuche bitte, bei der Fragestellung so genau wie möglich zu sein (alle Infos rein, die man benötigt, wenn keine Bsp-Daten vorliegen).
Und versuch bitte so zu formulieren, dass auch ein Erst-Leser etwas damit anfangen kann.
(Tippfehler zu vermeiden muss ich wohl nicht erwähnen? :) )
Ciao
Thorsten
AW: Oberschlumpf?
17.05.2004 13:37:58
Oberschlumpf
freut mich aber, dass bis jetzt alles funktioniert :-))
(vergessen hab, zu erwähnen)
AW: Oberschlumpf?
17.05.2004 14:00:20
Joey
Habe einen neuen Thread erstellt mit der Bezeichnung 'Du...Loop'
Danke!
Joey

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige