Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Bestimmte, wiederkehrende Zeilen automatisch in neue Tabelle kopieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Bestimmte, wiederkehrende Zeilen automatisch in neue Tabelle kopieren (4570 mal gelesen)
snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 10:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

Da ich VBA nur mal kurz am Rande im Studium hatte, ich aber ein Problem habe, wo ich denke, dass eventuell mit einem Makro gelöst werden könnte, möchte ich hier fragen, ob jemand dafür vielleicht eine Lösung kennt :-)

Es geht darum, dass ich mit einer OCR-Software immer identische Dokumente eingescannt habe, die in einer Exceltabelle untereinander eingefügt sind.
Immer z.B. in Zeile 25 vom Anfang aus gesehen (dann in Zeile 50, 75, 100 etc.)ist eine Information, die ich gerne in eine neue Tabelle in eine bestimmte Tabelle kopiert hätte. Ebenfalls in Zeile 31 (62,...)usw. Dazwischen sind Infos, die ich nicht brauche. Die Informationen unterscheiden sich in ihrer Schreibweise, sind aber immer in derselben Zeile.

Kennt jemand dafür ein Makro, welches die Tabelle bis unten durchläuft und immer in den enstsprechenden (z.B. Start bei 25, dann +25 dann 25+25+25 usw...)die Werte ausliest und dann in eine bestimmte Zelle in einer neuen Tabelle ausgibt??
Vielen Dank für eure Tipps! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 26. Jun. 2013 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

Hi,

das geht auch ohne VBA per Formel:

Code:
=INDIREKT("Tabelle2!A"&ZEILE(A1)*25)

bzw.

Code:
=INDIREKT("Tabelle2!A"&ZEILE(A1)*31)

Tabellenname musst du natürlich anpassen.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 11:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

danke für die schnelle Antwort!
Es funktioniert so auch, aber was muss ich noch hinzufügen, dass es in der gesamten Spalte (in der die Formel in A1 steht) jeweils die entsprechenden Werte in dann A2 ausgibt usw.?

Zur Verdeutlichung:

In der Ausgangstabelle steht zum Beispiel in Zeile 25 "Auto", in 50 "schönes Auto" usw.
Jetzt habe ich in der zweiten Tabelle in A1 augrund der INDIRKET-Formel automatisch den Wert aus der Ausgangstabelle. Aber muss ich jetzt jedesmal manuell die Formel anpassen, damit es auch die anderen Zeilen (50, 75, 100...) durchsucht und mir die Werte in der zweiten Tab. in A2, A3 usw. ausgibt??

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 26. Jun. 2013 11:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

sorry, verstehe leider nur Bahnhof.
Die Formel musst du so weit nach unten ziehen bis eine 0 erscheint, dann werden alle Daten, die im Abstand von 25 Zeilen stehen, untereinander aufgelistet. Oder meinst du, dass vorher nicht bekannt ist, in welcher Zeile sich der erste Suchbegriff befindet?
Eine hochgeladene Arbeitsmappe wäre nicht verkehrt, damit man besser nachvollziehen kann was du meinst.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 12:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sorry habe mich mich versehen und nur der 1. Wert war bei 25, die nächsten Werte immer im Abstand von 55.
Problem gelöst :-) Vielen Dank!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

daniu
Mitglied
Mechanik-Entwickler


Sehen Sie sich das Profil von daniu an!   Senden Sie eine Private Message an daniu  Schreiben Sie einen Gästebucheintrag für daniu

Beiträge: 866
Registriert: 03.11.2004

Intel Xeon W3550
12GB RAM; NVidia Quadro 4000
Win 7 Enterprise 64bit; NX7.5
TeamCenter 8

erstellt am: 26. Jun. 2013 12:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

Hi,

zu bedenken möchte ich noch geben, dass indirekt eine volatile Funktion ist und man bei der Verwendung sowohl wissen sollte, dass das so ist, als auch, welche Auswirkungen das hat.

Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 13:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,
da gebe ich dir Recht - dauert alles ein wenig. Besonders bei vielen Daten, die ich bearbeiten möchte.
Gibt es denn noch eine andere Möglichkeit, die die Rechenleistung etwas reduziert? Eventuell doch VBA?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

daniu
Mitglied
Mechanik-Entwickler


Sehen Sie sich das Profil von daniu an!   Senden Sie eine Private Message an daniu  Schreiben Sie einen Gästebucheintrag für daniu

Beiträge: 866
Registriert: 03.11.2004

Intel Xeon W3550
12GB RAM; NVidia Quadro 4000
Win 7 Enterprise 64bit; NX7.5
TeamCenter 8

erstellt am: 26. Jun. 2013 13:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

Hi,

bei VBA in Excel: immer einfach erst Mal den Makro-Rekorder nehmen, aufzeichnen, Code anschauen und dann, wenn Du was nicht verstehst, wieder hier her kommen.

Ich gehe davon aus, dass Du weißt, wie Du es mit Maus und Tastatur machen würdest, oder? Ich würd in dem Fall die Originaldaten in eine neue Datei kopieren und dort dann die Daten löschen, die Du nicht haben möchtest. Im Gegensatz zu VBA hast Du natürlich immer nur einen aktuellen Stand, der sich nicht mehr mitändert.

Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 26. Jun. 2013 14:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von daniu:
Im Gegensatz zu VBA hast Du natürlich immer nur einen aktuellen Stand, der sich nicht mehr mitändert.

das ist falsch - bei Formeln ändern sich die Daten automatisch, bei VBA nicht, da muss der Code erst erneut ausgeführt werden.

Es geht übrigens auch ohne INDIREKT:

Code:
=INDEX(A:A;25*ZEILE(A1);1)

Und wenn der erste Wert immer in Zeile 25 steht, dann in die 1. Zelle diese Formel:

Code:
=A25

und in die nächstfolgenden diese:

Code:
=INDEX(A:A;25+55*ZEILE(A1);1)

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 14:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Habe das mal ausprobiert mit dem Makro aufzeichen - kenne mich aber wirklich so gut wie gar nicht mehr damit aus und weiß nicht, wie ich da ein Automatismus reinbringe, sodass ich das nicht für jede Zeile aufzeichen muss, sonst könnt ich es ja gleich das machen, was ich aufzeichne.

Habe es mal beispielhaft für drei aufeinanderfolgende Zeilen gemacht. Folgendes kam dabei raus (Abstand hat sich zu 55 geändert, bitte nicht wundern):

Sub Makro1()
'
' Makro1 Makro
'

'
    ActiveWindow.SmallScroll Down:=-9
    Range("A55").Select
    Selection.Copy
    Sheets("Tabelle1").Select
    Range("C1").Select
    ActiveSheet.Paste
    Sheets("Sheet1").Select
    ActiveWindow.SmallScroll Down:=66
    Range("A110").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Tabelle1").Select
    Range("C2").Select
    ActiveSheet.Paste
    Sheets("Sheet1").Select
    ActiveWindow.SmallScroll Down:=48
    Range("A165").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Tabelle1").Select
    Range("C3").Select
    ActiveSheet.Paste
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 14:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke nochmals für die weitere Optimierung :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

daniu
Mitglied
Mechanik-Entwickler


Sehen Sie sich das Profil von daniu an!   Senden Sie eine Private Message an daniu  Schreiben Sie einen Gästebucheintrag für daniu

Beiträge: 866
Registriert: 03.11.2004

Intel Xeon W3550
12GB RAM; NVidia Quadro 4000
Win 7 Enterprise 64bit; NX7.5
TeamCenter 8

erstellt am: 26. Jun. 2013 15:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Beverly:

das ist falsch - bei Formeln ändern sich die Daten automatisch, bei VBA nicht, da muss der Code erst erneut ausgeführt werden.


natürlich hatte ich mich verschrieben und genau das gemeint ... Danke für die Korrektur.

Na - Du wirst nicht ganz drum rum kommen, Dich ein klitzekleines Bisschen mehr mit VBA auseinander zu setzen. Ansonsten gibt es sicherlich auch Dienstleister, die Dir sowas programmieren ...

Insofern, als dass "INDEX" nicht volatil ist, würde ich mir das VBA aufgrund des Vorteils mit der automatischen Aktualisierung sparen. Das VBA tutorial aber trotzdem nicht 

Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 16:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Beverly:


Es geht übrigens auch ohne INDIREKT:

Code:
=INDEX(A:A;25*ZEILE(A1);1)

Und wenn der erste Wert immer in Zeile 25 steht, dann in die 1. Zelle diese Formel:

Code:
=A25

und in die nächstfolgenden diese:

Code:
=INDEX(A:A;25+55*ZEILE(A1);1)


Hi, habe das soeben auch mal noch ausprobiert, aber irgendwie ändert sich der Wert nicht. Müsste sich nicht theoretisch der Bezug ändern, sprich anfangs A1, dann A25, usw.??
Stehe gerade etwas auf dem Schlauch 

Nachtrag: =INDEX($A$1:$A$273;25+55+55*ZEILE(A1);1) funktioniert, aber dann muss ich jedesmal +55 eingeben...ich komm leider nicht drauf, wie das geht, dass sich der Zeilenbezug jeweils ändert auf A25, A55 etc.) ??

[Diese Nachricht wurde von snowboarder1 am 26. Jun. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 26. Jun. 2013 16:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von daniu:

Insofern, als dass "INDEX" nicht volatil ist, würde ich mir das VBA aufgrund des Vorteils mit der automatischen Aktualisierung sparen. Das VBA tutorial aber trotzdem nicht  

Grüße


Denke auch, das ist wohl die schneller umsetzbare Lösung (für mich)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 28. Jun. 2013 11:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

gib doch mal bitte alle die Zeilennummern (oder Zelladressen) an, welche wiedergegeben werden sollen - mit deiner Beschreibung kommt ja niemand so richtig klar.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

snowboarder1
Mitglied



Sehen Sie sich das Profil von snowboarder1 an!   Senden Sie eine Private Message an snowboarder1  Schreiben Sie einen Gästebucheintrag für snowboarder1

Beiträge: 12
Registriert: 26.06.2013

erstellt am: 28. Jun. 2013 11:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi!

habe noch etwas rumprobiert und jetzt, wo alles in einer Tabelle ist funktioniert auch die vorgeschlagene Formel:

=INDEX($A$1:$A$273;25+55*ZEILE(A1);1)

Vielen Dank für eure Hilfe und ein schönes Wochenende!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 29. Jun. 2013 00:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für snowboarder1 10 Unities + Antwort hilfreich

hätte mich auch gewundert, wenn das bei dir nicht funktioniert hätte 

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz