Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1224to1228
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

Zellen aus Dokument kopieren

Zellen aus Dokument kopieren
Maximiliano
Hallo liebe Spezialisten,
mein Problem ist folgendes:
Ich bekomme von einer Datenbank ein riesiges Dokument, teilweise bis zu 60mb gross, mit bis zu 40.000 Zeilen. In diesem Dokument sind Firmennamen mit Telefonnummern, Anschriften u.ae.
Ich brauche aber nicht wirklich alles, sondern fuer jede firma immer die selben ungefaehr 8 Informationen.
Da ich mit Copy+paste Tage verbringen kann und regelmaessig aehnliche Taetigkeiten zu erledigen habe wuerde ich gerne erfahren, wie man das Problem mit einem Makro loesen koennte. Ich wuerde das Makro gerne verstehen, deshalb bitte ich euch, falls sich jemand findet der mir eines schreiben koennte, dass er mir kurz an die Zeilen des Makros schreiben koennte, was die jeweilige Zeile bedeutet.
Ich wuerde die Daten gern in eine anderes Dokument kopieren.
Ich habe in Zeile B74-L74 einen Firmenname. Dieser steht in mehren zusammengefassten Zeilen, ich hoffe das stellt kein Problem dar. Diesem haette ich gerne in der Zeile A1 des neuen Dokuments.
Dann habe ich in den Zellen B76-L76 die Information1 die ich gerne in B1 des neuen Dokuments haette.
In den Zellen B79-L79 die Information2 die ich gerne in C1 d. n. D. haette.
In den Zellen N75-S75 die Information3 die ich gerne in D1 d. n. D. haette.
.
.
.
Anschliessend kommt der naechste Firmenname und wieder brauche ich all die Informationen.
Der Abstand zwischen den Firmennamen ist immer gleich gross und betraegt 67 Zeilen.
Auch der Abstand zwischen dem Firmennamen und den Informationen ist immer der gleiche.
Vielen, vielen Dank schonmal im voraus!!
Maximiliano
AW: Zellen aus Dokument kopieren
17.08.2011 07:56:50
fcs
Hallo Maximiliano,
hier mal ein Beispielmakro als Ansatz. Es sollte auch mit verbundenen Zellen funktionieren.
Daten werden in eine neue Arbeitsmappe kopiert
Gruß
Franz
Sub DatenExtrahieren()
Dim wbQuelle As Workbook, wksQuelle As Worksheet, ZeileQ
Dim wbZiel As Workbook, wksZiel As Worksheet, ZeileZ, ZelleZiel As Range
'Objekt in Arbeitsmappe mit den Datenbank Daten
Set wbQuelle = ActiveWorkbook
Set wksQuelle = wbQuelle.Worksheets(1) 'oder = ActiveSheet
'Neue Arbeitsmappe mit einem Tabellenblatt anlegen und Zielobjekte
Workbooks.Add Template:=xlWBATWorksheet
Set wbZiel = ActiveWorkbook
Set wksZiel = wbZiel.Worksheets(1)
'Spaltentitel in Zeile 1 des Zieltabellenblattes einfügen
With wksZiel
ZeileZ = 1
.Cells(ZeileZ, 1) = "Firma"
.Cells(ZeileZ, 2) = "Information1"
.Cells(ZeileZ, 3) = "Information2"
.Cells(ZeileZ, 4) = "Information3"
End With
With wksQuelle
'Zeilen in Quelltabelle abarbeiten
'Zeile 74 = 1. Datenzeile mit auszulesenden Daten
'67 = Anzahl Zeilen pro Datensatz
For ZeileQ = 74 To .Cells.SpecialCells(xlCellTypeLastCell).Row Step 67
ZeileZ = ZeileZ + 1 'nächste Einfügezeile im Zieltabellen Blatt
Set ZelleZiel = wksZiel.Zeile(ZeileZ, 1) 'Zelle in Spalte A der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ, 2).Text 'Wert aus Spalte B (2)
Set ZelleZiel = wksZiel.Zeile(ZeileZ, 2) 'Zelle in Spalte B der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ + 2, 2).Text 'Wert aus Spalte B (2), 2 Zeilen weiter  _
unten
Set ZelleZiel = wksZiel.Zeile(ZeileZ, 3) 'Zelle in Spalte C der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ + 5, 2).Text 'Wert aus Spalte B (2), 5 Zeilen weiter  _
unten
Set ZelleZiel = wksZiel.Zeile(ZeileZ, 4) 'Zelle in Spalte D der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ + 1, 14).Text 'Wert aus Spalte N (14), 1 Zeile weiter  _
unten
Next
End With
wksZiel.Columns.AutoFit
End Sub

Anzeige
AW: Zellen aus Dokument kopieren
17.08.2011 15:35:42
Maximiliano
Hi Franz,
vielen Dank fuer deine Hilfe! Ich lebe zur Zeit in Mexiko. Die Zeitverschiebung erklaert meine eigenartigen Arbeitszeiten. Soweit ich das beurteilen kann ist das genau das was ich gebraucht habe! Ich werde es gleich ausprobieren. Vielen Dank auch fuer die Kommentare! Sie helfen mir sehr beim verstehen der einzelnen Zeilen.
Kannst du mir noch erklaeren warum, wenn du dich auf das Ausgangsdokument beziehst "ZeileZ" verwendest und wenn du dich auf das neue Dokument beziehst "ZeileQ"? Haengt das damit zusammen, das du das zu beginn so festgelegt hast?
Ich kann einige weitere Informationen hinzufuegen, indem ich oben weitere Spaltentitel hinzufuege und unten den entsprechenden Zweizeiler, richtig?
Vielen Dank fuer deine Hilfe, unglaublich hilfreich!
Gruss,
Maximiliano
Anzeige
AW: Zellen aus Dokument kopieren
17.08.2011 17:01:37
Maximiliano
Hi Franz,
vielen Dank fuer die Antwort. Die Kommentare sind sehr sehr hilfreich!!
Wenn ich das Makro benutze kommt jedoch folgende Fehlermeldung:
Compile error:
Method or data member not found
Und in folgender Spalte ist das ".Zeile" markiert:

Set ZelleZiel = wksZiel.Zeile(ZeileZ, 1) 'Zelle in Spalte A der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ, 2).Text 'Wert aus Spalte B (2)


Hast du eine Idee womit das zusammenhaengen kann?
Ich nutze Excel 2003 in Englisch, habe versucht das Zeile durch Row zu ersetzen, hat jedoch auch nicht geholfen.
Er erstellt problemlos ein neues Tabellenblatt und fuegt dort auch die Ueberschriften ein, doch Werte werden anschliessend nicht uebernommen... irgendeine Idee?
Vielen Dank fuer deine Hilfe!
Mximiliano
Anzeige
AW: Zellen aus Dokument kopieren
17.08.2011 17:56:28
Maximiliano
Hi Franz,
bitte entschuldige die Flut an Fragen und Revisionen. Das Problem ist geloest! Ich musste einfach ".Cells" statt ".Zeile" benutzen.
Deine Hilfe war enorm gross, vielen vielen Dank dafuer!!!!
Ich habe nun ein anderes Problem, was ich bisher noch nicht loesen konnte.
Die Abstaende zwischen den Firmen sind nun nichtmehr gleichmaessig, sondern umfassen zwischen 4 und 7 Zeilen pro Firma. Kannst du mir sagen, wie das Makro aussieht oder welchen Befehl man verwenden muss um dem Makro klar zumachen wann eine neue Firma beginnen soll?
Vielen Dank fuer deine Hilfe,
Maximiliano
Anzeige
AW: Zellen aus Dokument kopieren
17.08.2011 21:22:58
fcs
Hallo Maximiliano,
das mit dem Fehler "Zeile" statt "Cells" war mir durchgerutscht, da ich ja deine Datendatei nicht nachbauen wollte und somit das Makro nicht testen konnte.
Wenn die Zahl der Zeilen je Firma variert, dann kann man wohl nicht mehr mit einer festen Schrittweite in der For-Next-Schleife arbeiten. Dann bräuchte man ein Kriterium nach dem das Makro suchen soll, um die Zeile mit dem Beginn eines Datensatzes mit einem neuen Firmennamen zu erkennen.
Ideal wäre eine bestimmte Spalte, in der für jeden Datensatz der 1. Zeile gleiche Eintrag oder auch Inhalt von einem bestimmten Typ (z.B. ein Datum) steht . Der Eintrag darf dann innerhalb des Datensatzes in der Spalte nicht mehr vorkommen.
  With wksQuelle
'Zeilen in Quelltabelle abarbeiten
'Zeile 74 = 1. Datenzeile mit auszulesenden Daten
For ZeileQ = 74 To .Cells.SpecialCells(xlCellTypeLastCell).Row
'Prüfkriterium für einen Neuen Datensatz
If .Cells(ZeileQ, 1) = "Kriterium" Then
ZeileZ = ZeileZ + 1 'nächste Einfügezeile im Zieltabellen Blatt
Set ZelleZiel = wksZiel.Cells(ZeileZ, 1) 'Zelle in Spalte A der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ, 2).Text 'Wert aus Spalte B (2)
Set ZelleZiel = wksZiel.Cells(ZeileZ, 2) 'Zelle in Spalte B der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ + 2, 2).Text 'Wert aus Spalte B (2), 2 Zeilen weiter _
unten
Set ZelleZiel = wksZiel.Cells(ZeileZ, 3) 'Zelle in Spalte C der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ + 5, 2).Text 'Wert aus Spalte B (2), 5 Zeilen weiter _
unten
Set ZelleZiel = wksZiel.Cells(ZeileZ, 4) 'Zelle in Spalte D der Zieltabelle
ZelleZiel.Value = .Cells(ZeileQ + 1, 14).Text 'Wert aus Spalte N (14), 1 Zeile weiter _
unten
End If
Next
End With

Wenn du eine Beispieldatei mit ein paar typischen Datensätzen (ggf. anonymisiert bei Firmennamen und anderen vertraulichen Daten) hier hochlädts dann könnte ich ggf. auch nach einem geeigneten Kriterium suchen.
Gruß
Franz
Anzeige
AW: Zellen aus Dokument kopieren
17.08.2011 22:44:39
Maximiliano
Hi Franz,
kein Problem! Ich bin ja sogar selbst drauf gekommen, obwohl mein wissen was das an geht sehr beschraenkt ist. Das Makro funktioniert einwandfrei!!! Vielen vielen Dank.
Deine Idee ist super und ich glaube es gibt so ein festes Kriterium in meiner Liste. Jede X. Zeile, wenn halt eine neue Firma beginnt steht in einer Zeile nur "Customer: xxxx". xxxx stellt in dem fall eine Nummer dar. Aber die Zeilen beginnen immer mit "Customer", kannst du damit was anfangen?
Hinzu kommt, dass die Zeile in der "Customer: xxxx" steht, die einzige ist, welche die erste Spalte, Spalte A benutzt.
Sind das genug Informationen damit du mir weiterhelfen kannst?
Ansonsten werde ich dir ein kurzes Beispiel hochladen. Deine Hilfe ist Gold wert.
Maximiliano
Anzeige
AW: Zellen aus Dokument kopieren
17.08.2011 23:39:05
fcs
Hallo Maximilian,
ja das reicht als Kriterium.
Die Prüfung sieht dann so aus:
      'Prüfkriterium in Spalte A (1) für einen Neuen Datensatz
If .Cells(ZeileQ, 1) Like "Customer:*" Then
Ansonsten Struktur wie in meinem vorherigen Beispiel.
Gruß
Franz
AW: Zellen aus Dokument kopieren
18.08.2011 00:45:14
Maximiliano
Hi Franz,
vielen Dank fuer die Info.
sind das die beiden Zeilen die ersetzt werden muessen?
For ZeileQ = 73 To .Cells.SpecialCells(xlCellTypeLastCell).Row Step 67
ZeileZ = ZeileZ + 1
Wenn ich diese Zeilen ersetze und ein "End if" am Ende einfuege, dann wird die Zeile gelb markiert.
Es kommt eine Fehlermeldung: Run-time error '1004': Application-defined or objekt-defined error.
Kannst du mir sagen woran das liegt?
Vielen Dank fuer deine Hilfe!
Maximiliano
Anzeige
AW: Zellen aus Dokument kopieren
18.08.2011 02:02:50
fcs
Hallo Maximiliano,
nein das sind nicht die Zeilen.
Ich hatte dir doch hier https://www.herber.de/forum/messages/1226532.html
ein Beispiel gezeigt, wie die Prüfung in die For-Next-Schleife eingebaut werden muss.
nach der For-Zeile kommt die If-Prüung
vor der Next-Zeile kommt die End If Zeile
In der For-Zeile entfällt zusätzlich "Step 67"
Gruß
Franz
AW: Zellen aus Dokument kopieren
18.08.2011 15:50:59
Maximiliano
Hallo Franz,
tut mir Leid, ich hab mich n bisschen daemlich beim zusammenfuegen deiner Informationen angestellt! Ich bin halt noch ein Anfaenger was VBA angeht.
Es funktioniert nun aber wie immer einwandfrei! Vielen Dank fuer die Unterstuetztung!!
Ich habe noch ein weiteres Problem, ich wuerde mich sehr freuen, wenn du auch dafuer eine Antwort parat haettest.
https://www.herber.de/bbs/user/76234.xls
Ich habe eine Beispieldatei hochgeladen, damit es hoffentlich leichter wird mein Problem zu verstehen.
In der Tabelle hat der 2. Kunde eine Information mehr als der 1. und der 3. Dank deiner bisherigen Unterstuetztung ist es kein Problem mehr die Informationen bis zur E-mailaddresse zu kopieren, jedoch verschieben sich beim 2. Kunden die Anzahl der Zeilen zur Ausgangszeile, so ich nicht alle Internetseiten kopieren kann, sondern lediglich die welche in meinem Fall in der 7. Zeile ueber der Ausgangszeile sind.
Ich hoffe mein Problem ist klar. Ich braechte eine Abfrage, die prueft ob in Zeile "B+8" ein Wert steht und dementsprechtend weiterverfaehrt.
Steht dort kein Wert dann wird "G+8" kopiert und sonst "G+9", ich hoffe es ist klar was ich meine.
Waere dir sehr sehr dankbar, wenn du mir auch in diesem Problem helfen koenntest!!
Maximiliano
Anzeige
AW: Zellen aus Dokument kopieren
19.08.2011 00:36:50
fcs
Hallo Maximiliano,
in deiner Liste kann man auch die Begriffe in Spalte G prüfen und den Wert aus der rechten Nachbarspalte in die entsprechende Spalte der Zieltabelle einfügen.
In der Textdatei findest du den angepassten Code. Das Setzen der Zielzelle hab ich rausgenommen. Man kann in der Wertzuweisung die Zellen in der Zieltabelle auch direkt angeben.
https://www.herber.de/bbs/user/76239.txt
Gruß
Franz
AW: Zellen aus Dokument kopieren
19.08.2011 01:07:51
Maximiliano
Hey Franz,
vielen, vielen Dank! Es funktioniert PERFEKT!!
Kannst du mir noch mehr Kommentare hinzufuegen? Das waere echt super! Es kann gut sein, dass ich fuer andere Tabellen leichte Veraenderung vornehmen muss. Fuer diese funktioniert es einwandfrei!!
Die ersten vier Spalten in der neuen Tabelle sind klar, da hat sich ja auch nicht viel geaendert, aber kannst du mir folgendes erklaeren?
".Offset(0, 1).Text" es kommt oefters vor. Und ich weiss nicht wie das funktioniert.
Wie gesagt es funktioniert echt super! Vielen, vielen Dank!! Es waere super wenn du mir noch Erlaeuterungen hinzufuegen koenntest, damit ich verstehe wie es funktioniert und vielleicht leichte Aenderungen vornehmen kann.
Maximiliano
Anzeige
AW: Zellen aus Dokument kopieren
19.08.2011 03:18:06
fcs
Hallo Maximiliano,
evtl. solltest du mal einen Blick in der Hilfe zu Offset riskieren.
          With .Cells(ZeileQ, 7) 'Zelle in Spalte G
Select Case Trim(.Text)
Case "Contact:"
wksZiel.Cells(ZeileZ, 6) = .Offset(0, 1).Text 'Zelle 1 Spalte rechts von Zelle  _
in Spalte G
In der With-Anweisung ist die Zelle angegeben (hier die Zelle in ZeileQ, Spalte 7) auf die sich der Offset(Zeilen, Spalten) bezieht.
Mit Offset wird eine Zelladresse relativ zur Bezugsadresse angegeben.
Gruß
Franz
AW: Zellen aus Dokument kopieren
19.08.2011 20:21:09
Maximiliano
Hi Franz,
vielen Dank fuer deine Hilfe! Es funktioniert einwandfrei! Ich muss immer ein bisschen rumspielen, bevor ich verstehe wie die Befehle funktionieren. Die Wiedererkennungsfunktion ist sehr, sehr hilfreich. Vielen Dank dafuer.
Ich habe schon ein neues Problem in Aussicht, wollte mich aber erstmal fuer deine grosse Hilfe bedanken.
Ich hoffe du kannst mir auch dabei helfen! Ich suche deinen Rat auf wenn es soweit ist.
Vielen Dank,
Maximiliano
AW: Zellen aus Dokument kopieren
20.08.2011 00:06:35
Maximiliano
Hallo Franz,
es handelt sich bei meinem neuen Problem immernoch darum Zellen aus einem Dokument zu kopieren, deshalb stelle ich die Frage einfach hier.
https://www.herber.de/bbs/user/76270.xls
Das ist meine Tabelle, ich brauche die gelb unterlegten Daten, wie die Daten zuvor in einem neuen Dokument.
Mein Problem ist vorallem, das es leere Firmen gibt und Firmen mit verschieden vielen Referenznummern. Ich weiss nicht wie ich den Makro sage, dass er pruefen soll, ob da Referenznummern sind oder nicht und wenn ja wie viele und wie es dementsprechend weitergeht. "Leeren Firmen" sollen nicht kopiert werden.
Ich denke man kann wieder per Kriteriumssuche von einem Datensatz zum naechsten springen, da der Beginn einer Firma immer durch eine Zahl in Zeile A erfolgt.
Auch die Totale Summe ist kein Problem, hierfuer kann wieder die Offset-Funktion eingesetzt werden.
Vielen Dank fuer deine bisherige Hilfe!! Vielleicht hast du ja auch hierfuer eine Antwort parat?
Gruss,
Maximiliano
AW: Zellen aus Dokument kopieren
20.08.2011 12:21:22
fcs
Hallo Maximiliano,
hier das auf die neue Tabelle angepasste Makro.
Gruß
Franz
Sub DatenExtrahierenDueDate()
Dim wbQuelle As Workbook, wksQuelle As Worksheet, ZeileQ As Long, ZeileL As Long
Dim wbZiel As Workbook, wksZiel As Worksheet, ZeileZ As Long
Dim sID As String, sFirma As String
'Objekt in Arbeitsmappe mit den Datenbank Daten
Set wbQuelle = ActiveWorkbook
Set wksQuelle = wbQuelle.Worksheets(1) 'oder = ActiveSheet
Application.ScreenUpdating = False
'Neue Arbeitsmappe mit einem Tabellenblatt anlegen und Zielobjekte
Workbooks.Add Template:=xlWBATWorksheet
Set wbZiel = ActiveWorkbook
Set wksZiel = wbZiel.Worksheets(1)
'Spaltentitel in Zeile 1 des Zieltabellenblattes einfügen
With wksZiel
ZeileZ = 1
.Cells(ZeileZ, 1) = "ID number"
.Cells(ZeileZ, 2) = "Company"
.Cells(ZeileZ, 3) = "Our ref."
.Cells(ZeileZ, 4) = "Due Date"
.Cells(ZeileZ, 5) = "Age"
.Cells(ZeileZ, 6) = "Total >90 days"
End With
With wksQuelle
'Zeilen in Quelltabelle abarbeiten
'Zeile 1 = 1. Datenzeile mit auszulesenden Daten
ZeileL = .Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile benutzter Datenbereich
For ZeileQ = 1 To ZeileL
'Prüfkriterium für einen Neuen Datensatz: 4 erste Zeichen sind nummerisch
If .Cells(ZeileQ, 1).Text Like "####*" Then
If InStr(1, .Cells(ZeileQ, 1), " ") > 0 Then
sID = Left(.Cells(ZeileQ, 1), InStr(1, .Cells(ZeileQ, 1), " ") - 1)
sFirma = Mid(.Cells(ZeileQ, 1), InStr(1, .Cells(ZeileQ, 1), " ") + 1)
Else
sID = .Cells(ZeileQ, 1).Text
sFirma = ""
End If
'Zeile mit Spaltentiteln überspringen
ZeileQ = ZeileQ + 2
If ZeileQ > ZeileL Then Exit For
'Prüfen, ob neue ID-Nummer oder Totals-Zeile
Do Until .Cells(ZeileQ, 1) Like "####*" Or Left(.Cells(ZeileQ, 1), 5) = "Total"
'Our Ref-Zeilen auslesen
If .Cells(ZeileQ, 2)  "" Then
ZeileZ = ZeileZ + 1 'nächste Einfügezeile im Zieltabellen-Blatt
wksZiel.Cells(ZeileZ, 1).Value = "'" & sID 'Customer-ID
wksZiel.Cells(ZeileZ, 2).Value = "'" & sFirma 'Customer
wksZiel.Cells(ZeileZ, 3).Value = "'" & .Cells(ZeileQ, 2).Text 'Our ref.
wksZiel.Cells(ZeileZ, 4).Value = .Cells(ZeileQ, 7).Value 'Due date
wksZiel.Cells(ZeileZ, 5).Value = .Cells(ZeileQ, 9).Value 'Age
End If
ZeileQ = ZeileQ + 1
Loop
If Left(.Cells(ZeileQ, 1), 5) = "Total" Then
ZeileZ = ZeileZ + 1 'nächste Einfügezeile im Zieltabellen-Blatt
wksZiel.Cells(ZeileZ, 1).Value = "'" & sID 'Customer-ID
wksZiel.Cells(ZeileZ, 2).Value = "'" & sFirma 'Customer
wksZiel.Cells(ZeileZ, 3).Value = "'"
wksZiel.Cells(ZeileZ, 4).Value = "'"
wksZiel.Cells(ZeileZ, 5).Value = "'"
wksZiel.Cells(ZeileZ, 6).Value = .Cells(ZeileQ, 26).Value 'Total >90 days
End If
ZeileQ = ZeileQ - 1
End If
Next
End With
'Spalten formatieren
With wksZiel
.Columns(6).NumberFormat = "#,##0.00;[Red]-#,##0.00"
.Columns.AutoFit
.Columns(3).ColumnWidth = 8
.Columns(5).ColumnWidth = 8
End With
Range("C2").Select
ActiveWindow.FreezePanes = True
Application.ScreenUpdating = True
End Sub

AW: Zellen aus Dokument kopieren
20.08.2011 18:25:48
Maximiliano
Hallo Franz,
vielen Dank, für das Beispiel funktioniert es super. Ich kann es erst am Montag auf der Arbeit für größere Listen testen. Aber vielen Dank für deine Hilfe. Zwei Dinge sind mir noch aufgefallen.
Ist es möglich, das der Firmenname und die ID-Nummer nur in der ersten Zeile auftauchen und nicht in jeder Zeile in jeder Ref-Zeile? Ich denke, dass wäre der Übersichtlichkeit sehr dienlich. Das zweite ist, das ich eigentlich generell nur die Firmen Brauche in denen der Betrag positiv ist. Kann man das irgendwie zuerst prüfen, das er dann gleich zur nächsten Firma springt, falls der Betrag negativ ist und sich dann das kopieren der Zellen spart? Es wäre super wenn du mir noch ein paar Kommentare einfügen könntest, wazu die einzelnen Befehle dienen.
Diene Hilfe ist super! Vielen Dank dafür für deine bisherigen Mühen!!!
Gruß,
Maximiliano
AW: Zellen aus Dokument kopieren
20.08.2011 23:19:43
fcs
Hallo Maximiliano,
ich ab das Makro jetzt nochmals ein wenig umgestrickt. Der einfacht halber wird der Total-Wert jetzt in der 1. Zeile eingetragen.
https://www.herber.de/bbs/user/76282.txt
Viel mehr Kommentare als das was schon drin ist, kannst du wohl kaum erwarten. VBA hat auch eine Hilfe-Funktion in der die VBA-Methoden und Eigenschaften erläutert werden. Einfach Cusor auf ein Wort stellen und F1-Taste.
Gruß
Franz
AW: Zellen aus Dokument kopieren
22.08.2011 03:14:31
Maximiliano
Hallo Franz,
wie eigentlich immer, funktioniert noch einigem rumprobieren zwecks modifizieren die Makro die du mir schriebst wunderbar!! So auch dieses. Vielen Dank dafür.
Und auch der Tipp mit der F1-Taste, war super, ich wusste vorher nicht, dass es diese Funktion gibt! Auch dafür danke ich! Ich habe noch eine weitere Frage:
Wie kann ich die Werte nicht in ein neues, sondern in ein schon bestehendes Dokument einfügen.
Ich habe zum Beispiel ein Dokument Mit dem Namen: 12345 Report, und möchte das die Daten in die Zeilen 5-8 eingefügt werden. Das mit dem einfügen in bestimmte Zeilen ist denke ich kein Problem. Ich kann ja die Zeilen des Zieldokuments selbst bestimmen. Ich denke ich muss irgendwo in diesem Teil etwas umschreiben, weiß aber nicht wo.
'Neue Arbeitsmappe mit einem Tabellenblatt anlegen und Zielobjekte
Workbooks.Add Template:=xlWBATWorksheet
Set wbZiel = ActiveWorkbook
Set wksZiel = wbZiel.Worksheets(1)

Kannst du mir sagen wie das geht?
Vielen Dank für deine Hilfe!!!
Gruß,
Maximiliano
AW: Zellen aus Dokument kopieren
22.08.2011 18:54:57
Maximiliano
Hallo Franz,
vielen Dank für deine Hilfe bis jetzt!
ich habe noch folgendes Problem. Die Zellen in denen er nach "Total" suchen sollen, liegen nun nicht mehr in Zeile A sondern in Zeile B.
Do
ZeileQ = ZeileQ + 1 'Zeile hochzählen
If ZeileQ > ZeileL Then Exit Do
Loop Until .Cells(ZeileQ, 1) Like "####*" Or Left(.Cells(ZeileQ, 1), 5) = "Total"
If Left(.Cells(ZeileQ, 1), 5) = "Total" Then
dTotal = .Cells(ZeileQ, 27).Value 'Total >90 days
ZeileQTotal = ZeileQ 'Zeile mit Total-Werten merken
If dTotal >= 0 Then 'Total ist nicht negativ

Wo kann ich das einstellen? Was bedeutet die 5? Ich habe das mit der F1 Funktion probiert, bin aber nicht schlauer geworden dadurch!
Gruß,
maximiliano
AW: Zellen aus Dokument kopieren
22.08.2011 21:00:54
fcs
Hallo Maximiliano,
in der Textdatei ist der angepasste Code wenn du die Daten in eine bereits vorhandene Datei schreiben willst.
https://www.herber.de/bbs/user/76312.txt
Der Vollständigkeit halber wird geprüft, ob die Datei schon geöffnet ist, falls nein wird die Datei geöffnet. Pfad und Name der Datei im Code muss du anpassen.
Zusätzlich wird geprüft, ob schon Daten vorhanden sind nach Abfrage die vorhandenen Daten gelöscht oder die neuen Daten am Ende angefügt.
"Total" in Spalte B ist auch eingearbeitet.
Erläuterung zu :
Left(.Cells(ZeileQ, 1), 5) = "Total"

5 = ist gleich die Anzahl Zeichen von "Total". Die Zahl gibt an wieviele Zeichen von links im Inhalt von Zelle .Cells(ZeileQ, 1) mit "Total" verglichen werden sollen.
1 ist hier die Nummer der Spalte (also Spalte A) in der "Total ..." steht. Wenn nun "Total ..." in Spalte B steht, dann muss du die Spalte in 2 ändern.
Gruß
Franz
AW: Zellen aus Dokument kopieren
23.08.2011 04:48:34
Maximiliano
Hallo Franz,
vielen, vielen Dank für deine ständige Hilfe!! Ich werde dein Makro in den nächsten Tagen testen!
Gebe dir dann selbstverständlich nochmal Feedback.
Vielen Dank für deine Hilfe bis jetzt!!!
Gruß,
Maximiliano

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige