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

Makro verändern / ergänzen

Makro verändern / ergänzen
29.08.2003 20:24:44
Dieter D.
Einen guten Abend an alle Excel / VBA Freunde

bin mittlerweile recht enttäuscht, habe mehrmals versucht Hilfe zu einem Makro
zu erhalten, leider ohne den gewünschten Erfolg.
Ich möchte ein bestehendes Makro, welches nicht von mir erstellt wurde, erweitern / verändern.
Habe schon diverse Beispiele von „Herbers Cd“ getestet, schaffe es
aber nicht, den Ablauf auf meine Bedürfnisse hin zu optimieren.
Da ich nicht der VBA-Kenner bin, würde ich gerne über dieses Forum Lösungsvorschläge erhalten.
So, hier nun der Versuch, mein Problem darzustellen:
Mein Makro, welches Daten über einen Suchbegriff in eine „Neue
Arbeitsmappe“ einliest, soll dahin gehend verändert werden, dass die Daten als
neues Tabellenblatt mit in die bestehende Arbeitsmappe „SozialDaten“ kopiert wird.
Ich stelle dieses Makro einfach mal mit ins posting, vielleicht hilft es Euch,
mein Anliegen besser zu verstehen.

Modul 1


Sub Such_mich()
Dim sPath As String
Dim Suchtext As String
Dim Zelle As Range
Dim i As Long
Dim j As Integer
Dim KopierteZeilen()
Dim NeueMappe As Worksheet
Dim Arbeitsmappe As String
Dim Schon_da As Boolean
Suchtext = InputBox("Wonach suchen?", , "Arbeit macht Spaß ! oder ?")
If Suchtext <> "" Then
Arbeitsmappe = ActiveWorkbook.Name
Workbooks.Add
Set NeueMappe = ActiveWorkbook.ActiveSheet
i = 2
Workbooks(Arbeitsmappe).Activate
Rows("2:2").Copy NeueMappe.Cells(1, 1)
For Each Zelle In Workbooks(Arbeitsmappe).ActiveSheet.UsedRange
If InStr(1, Zelle.Value, Suchtext, vbTextCompare) > 0 Then
ReDim Preserve KopierteZeilen(i - 2)
Schon_da = False
For j = 0 To UBound(KopierteZeilen)
If KopierteZeilen(j) = Zelle.Row Then Schon_da = True
Next
If Not Schon_da Then
Rows(Zelle.Row & ":" & Zelle.Row).Copy NeueMappe.Cells(i, 1)
i = i + 1
End If
End If
Next
NeueMappe.Activate
Columns("A:Z").EntireColumn.AutoFit
Range("A1").Select
End If
End Sub


Wer ist vielleicht so freundlich und hilft mir weiter?

Verbleibe mit freundlichen Grüßen
Dieter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro verändern / ergänzen
29.08.2003 20:54:09
GerdW
Die Hilfe hier im Forum ist freiwillig, es besteht darauf kein
Anspruch.
Vielleicht liegst auch an der Problembeschreibung?
Ich frage mich z.B., soll der Code in
"die bestehende Arbeitsmappe „SozialDaten“"
oder in einem anderen Workbook ausgeführt werden.

Gerd
AW: an Gert
29.08.2003 21:39:13
Dieter D.
Hallo Gerd,
zu Punkt eins:
es ist mir schon bewußt, daß es freiwillig ist, hier eine Hilfestellung
zu erhalten.
zu Punkt zwei:
wo ist das Problem mit meiner Umschreibung?
Ich habe, so glaube ich, jedenfalls für VBA-Kenner mein Anliegen klar
dargestellt und beschrieben:

"Mein Makro, welches Daten über einen Suchbegriff in eine „Neue
Arbeitsmappe“ einliest, soll dahin gehend verändert werden, dass die Daten als
neues Tabellenblatt mit in die bestehende Arbeitsmappe „SozialDaten“ kopiert wird".

Ergo, mit in in die Arbeitsmappe "SozialDaten" und NICHT als "NEUE Arbeitsmappe".
Sorry, aber genau das waren in der Vergangenheit ähnliche Fragen,
wie DU sie gestellt hast und danach kam nichts mehr.
Entschuldige bitte, daß ich so reagiere, aber ich denke für mein Problem sollte
es für die "Profis" ein "Klacks" sein, mein aufgeführtes Makro abzuändern,
aber wie Du schon sagt, es ist freiwillig.

Ich sage trotdem
Danke schön für die Mühe
Dieter
Anzeige
AW: an Gert
29.08.2003 22:02:37
GerdW
Nicht mal meinen Namen kannst du richtig schreiben und meine
Frage hast du auch nicht beantwortet:
Soll der Code in der Arbeitsmappe „SozialDaten“ oder woanders
ausgeführt werden?

Gerd
AW: an Gert
29.08.2003 22:03:28
PeterW
Hallo Dieter,

dann brauchst du die neue Mappe nicht? Reicht eine neue Tabelle in der vorhandenen Datei?

Fragen zu einem Detailproblem sind hier kein Problem - schau dir mal die anderen Threads an, in denen es zum Teil innerhalb von 5 Minuten viele passende Antworten gibt. Wenn ein vorgegebener Code umgebaut werden soll ist es etwas zeitaufwändiger/komplizierter - soll doch funktionieren. :-)
Auch VBA-Kenner haben eben keine funktionsfähige Glaskugel um aus einem gegebenen Code die genaue Aufgabenstellungstellung erkennen zu können. :-)

Gruß
Peter
PS: beschreib mal genau, was du erreichen willst. Dürfen auch ruhig mehr als zwei Sätze sein.
Anzeige
AW: an Peter - Makro ändern
30.08.2003 09:49:29
Dieter D.
Hallo Peter ,

erst einmal vielen Dank für Deine Mühe.
Du hast es erkannt, ich möchte keine neue Mappe, sondern nur eine zusätzliche Tabelle in der vorhandenen Datei „SozialDaten“.

Ich versuche einmal meine Unwissendheit zu umschreiben:

ich habe für meine Frau eine Tabelle erstellt, in die nun per Userform Daten eingetragen werden. In diesem Tabellenblatt „Tabelle1 (Meier)“ werden nun auch Berechnungen
vorgenommen, wie z.B. das Alter, Betriebszugehörigkeit u. Kündigungsfristen.
Des weiteren habe ich ein Blatt „Tabelle4 (Daten)“, darin stehen Daten, die ich
für Berechnungen wiederum in Tabbelle1 (Meier) benötige (Altersberechnung / Betriebszugehörigkeit usw.)
Diese Blätter werden teilweise noch von Makros unterstützt, so zum Beispiel die
Altersangaben – J-M-T- mit dem Makronamen JahresBerechnung.
Dann für die Userform und schlussendlich dieses besagte Makro „SuchMich“, welches ich nun, wenn möglich, ändern möchte.
Das Makro mit dem Namen „SuchMich“ würde auch wie die Faust aufs Auge zu meinen Anforderungen passen, wenn eben NICHT, die von diesem Makro ausgelesenen Daten
in einer neuen Arbeitsmappe erstellt werden.
Mit dieser NEUEN Arbeitsmappe hätte ich dann nämlich keinen Bezug mehr zu den Daten
und Makros, die ich ja benötige, um meine Berechnungen weiterhin durchführen zu können.
Also glaube ich, das Makro „SuchMich“ sollte als zusätzliche Tabelle in die vorhandene Mappe integriert werden.

Danke
Und einen schönen Tag (Wochenende) noch
Dieter
Anzeige
AW: an Peter - Makro ändern
30.08.2003 13:22:26
PeterW
Hallo Dieter,

habe am Code so wenig geändert wie möglich (so kannst du die Änderungen besser nachvollziehen) und das Ganze ist auch ungetestet solle aber funktionieren.

Gruß
Peter


Sub Such_mich()
Dim sPath As String
Dim Suchtext As String
Dim Zelle As Range
Dim i As Long
Dim j As Integer
Dim KopierteZeilen()
Dim NeueMappe As Worksheet
Dim Arbeitsmappe As String
Dim Schon_da As Boolean
Suchtext = InputBox("Wonach suchen?", , "Arbeit macht Spaß ! oder ?")
If Suchtext <> "" Then
Arbeitsmappe = ActiveWorksheet.Name
Worksheets.Add
Set NeueMappe = ActiveSheet
i = 2
Worksheets(Arbeitsmappe).Activate
Rows("2:2").Copy NeueMappe.Cells(1, 1)
For Each Zelle In Worksheets(Arbeitsmappe).UsedRange
If InStr(1, Zelle.Value, Suchtext, vbTextCompare) > 0 Then
ReDim Preserve KopierteZeilen(i - 2)
Schon_da = False
For j = 0 To UBound(KopierteZeilen)
If KopierteZeilen(j) = Zelle.Row Then Schon_da = True
Next
If Not Schon_da Then
Rows(Zelle.Row & ":" & Zelle.Row).Copy NeueMappe.Cells(i, 1)
i = i + 1
End If
End If
Next
NeueMappe.Activate
Columns("A:Z").EntireColumn.AutoFit
Range("A1").Select
End If
End Sub

Anzeige
AW: an Peter - Makro ändern
30.08.2003 15:49:15
Dieter D.
Hallo Peter,

erhalte die Meldung: Variable nicht definiert
und in diesem Satz ist dann "ActiveWorksheet" farbig hinterlegt.
- Arbeitsmappe = ActiveWorksheet.Name -

Kannst Du hier vielleicht noch Hilfestellung leiten?

Danke
AW: an Peter - Makro ändern
30.08.2003 16:26:19
PeterW
Hallo Dieter,

ändere die Zeile in
Arbeitsmappe = ActiveSheet.Name

Gruß
Peter
AW: an Peter - Makro ändern
30.08.2003 17:09:56
Dieter D.
Hei Peter,

möchte mich recht herzlich bedanken.
Du hast mir sehr geholfen, bin begeistert.

Gruß
Dieter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige