Collapse column

Autor Thema: Office 2007: Excel-Makro  (Gelesen 6085 mal)

Offline kealfra

  • Newbie
  • *
  • Beiträge: 28
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2007
Office 2007: Excel-Makro
« am: Mai 14, 2014, 16:31:52 Nachmittag »
Hallo,
Irgendwie möchte ich es schaffen via Makro (Excel aus Office 07) übereinstimmende Titel in zwei Listen mit Filmtiteln zu finden. Die erste Liste (aus dem Internet kopiert) enthält die täglich im TV gesendeten Filme, die zweite etwa 800 schon aufgenommene Filme. Dem direkten Vergleich zweier Strings ist nur mäßiger Erfolg beschieden, weil zwei miteinander verglichene Titel nur dann als übereinstimmend erkannt werden, wenn sie tatsachlich mit Buchstaben, Punkt, Komma, Strich, Leerstellen (und allem was es sonst noch geben könnte) absolut deckungsgleich sind.

Einen Ausweg sehe ich in der Range.Find-Methode, bei der auch teilweise Übereinstimmungen erkannt werden. Leider finde ich keine Möglichkeit, einen Titel aus der Liste der täglich gesendeten Filme in die Suchprozedur zu manöverieren, ohne ihn manuell eintippen zu müssen. Die üblichen Methoden, einen String in Klammern oder in Anführungszeichen (oder in beidem) einzuschließen versagt völlig.

Kann hier jemand helfen?

mfg wohnwagen

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #1 am: Mai 14, 2014, 21:34:02 Nachmittag »
Moin,

ich würde mal darüber nachdenken, ob das Phonetic-Object in die richtige Richtung geht. Ich habe damit noch nicht gearbeitet, aber von der Idee her sollte es dir weiter helfen.
Gruß
Günther

Offline kealfra

  • Newbie
  • *
  • Beiträge: 28
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2007
Antw:Office 2007: Excel-Makro
« Antwort #2 am: Mai 15, 2014, 10:31:24 Vormittag »
Hallo Günther,

Danke für die Antwort.

"Phonetic-Object" gehört bisher nicht zu meinem Wortschatz, aber irgendwie muss es ja zu finden sein. VBA bietet ja einiges an Hilfen

mfg wohnwagen

Offline mumpel

  • Spezialist für RibbonX-Programmierung
  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 195
    • Profil anzeigen
    • Microsoft-Office-Add-Ins
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #3 am: Mai 15, 2014, 11:13:32 Vormittag »
Hallo!

Könnte mit dem Doppelklick-Ereignis funktionieren. Dafür per Doppelklick den gesuchten Titel in eine Hilfszelle schreiben, in dessen Nachbarzelle wird dann per SVerweis nach dem Titel in der anderen Liste gesucht.

Mal davon abgesehen ist Excel für diesen Fall m.E. nicht so gut geeignet. Datenbanken in diesem Umfang gehören eigentlich in Access.

Gruß, René

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #4 am: Mai 15, 2014, 12:09:28 Nachmittag »
@ René

nun ja, vom Prinzip her ist das natürlich eine Datenbank, DA gebe ich dir Recht. Aber Excel "vorzuwerfen", mit 800 Zeilen (=Datensätzen) an der Grenze der Leistungsfähigkeit zu sein ( ;) ) ist nun nicht wirklich gerecht.
Gruß
Günther

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline kealfra

  • Newbie
  • *
  • Beiträge: 28
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2007
Antw:Office 2007: Excel-Makro
« Antwort #5 am: Mai 15, 2014, 12:27:29 Nachmittag »
Hallo Rene,

Danke für Deine Mühe.

Access ist aus der Sicht eines Profis sicher das Richtige. Die billigste Ausgabe, die ich bei Ebay gefunden habe, kostet 69,90€. Und das ist mir (als nur mäßig betuchter Rentner) für die Lösung einer einzigen Aufgabe ein wenig zu teuer.

Leider habe ich aber auch keine Ahnung wie man in Excel etwas per Doppelklick kopiert und auch SVerweis ist mir  ein Buch mit sieben Siegeln. Die zunächst befragte Excel-Hilfe kennt diesen Begriff ebensowenig wie die VBA-Hilfe.

mfg wohnwagen

Offline mumpel

  • Spezialist für RibbonX-Programmierung
  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 195
    • Profil anzeigen
    • Microsoft-Office-Add-Ins
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #6 am: Mai 15, 2014, 12:39:41 Nachmittag »
Das Kopieren per Doppelklick ist kein Problem. Dazu den folgenden Code in den Codebereich der Tabelle (Rechtsklick auf Tabellenreiter->Code anzeigen). Als Zielzelle nehmen wir mal Z1.
 
Code: Visual Basic
  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2.  
  3. Rem "Zellbearbeitung deaktivieren" deaktivieren
  4. Cancel = True
  5.  
  6. Rem Zellinhalt nach Z1 kopieren
  7. Range("Z1").Value = Target.Value
  8.  
  9. End Sub
  10.  

Mit der Fomel muss ich mal schauen.
 

Offline mumpel

  • Spezialist für RibbonX-Programmierung
  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 195
    • Profil anzeigen
    • Microsoft-Office-Add-Ins
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #7 am: Mai 15, 2014, 12:41:27 Nachmittag »
[...] an der Grenze der Leistungsfähigkeit zu sein [...]
Das meinte ich damit nicht. Access ist gerade bei der Datensuche etwas flexibler.

Offline kealfra

  • Newbie
  • *
  • Beiträge: 28
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2007
Antw:Office 2007: Excel-Makro
« Antwort #8 am: Mai 18, 2014, 15:25:50 Nachmittag »
Hallo,

Es sieht zwar nach Angeberei aus, aber ich denke, ich bin nicht der einzige, der mit dem Suchen in irgendwelchen Listen Probleme hat.

Nach dem Motto „Versuch macht kluch“ habe ich noch ein paar Stündchen mit der Syntax der Range.Find-Methode herum experimentiert und folgendes herausgefunden: Wenn man die Zelle, die den Suchbegriff enthält, selektiert und dann (Selection) in die Syntax als „What“ einsetzt, wird der Suchbegriff gefunden. Erfreulicherweise wird der Makro danach nicht abgebrochen sondern er geht in der gefundenen Zelle auf Sendepause. Man kann diese also kennzeichnen (z. B. die ganze Zelle oder nur die Schrift himmelgrün einfärben, oder was ich vorgezogen habe, den gefundenen Begriff in eine freie Spalte kopieren) und danach zum nächsten Suchbegriff springen.

 In meinem Fall sieht der zugehörige Code wie folgt aus: (beide Listen in der gleichen Spalte, Suchbegriffe von Zeile 1 bis LL, zu durchsuchende Liste ab Zeile 200, Ende offen)

a = 1
RUN:
Cells(a, 1).Select
    Cells.Find((Selection), After:=Cells(199, 1), LookIn:= _
        xlFormulas, LookAt:=xlPart, searchorder:=xlByRows, searchdirection:= _
        xlNext).Activate
d = ActiveCell.Row
Cells(d, 1).Select
Selection.Copy
Cells(d, 2).Select
ActiveSheet.Paste
a = a + 1
If a > LL Then
    Exit Sub
End If
GoTo RUN

Dabei „d“ die Zeile in der der Suchbegriff gefunden wurde,

Worüber ich allerdings (trotz einer 750-seitigen Schwarte über die „VBA-Programmierung“) auch diesmal wieder nicht schlauer geworden bin bin, ist die Frage, was es mit dem oft (auch bei dieser Methode wieder) erwähnten „Rückgabewert“ auf sich hat. Welche Bedeutung hat er? Wie wird man seiner habhaft? Kann man ihn im Code weiterverwenden? Kann mir bei diesem Thema jemand auf die Sprünge helfen?

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #9 am: Mai 18, 2014, 16:35:49 Nachmittag »
Moin NoName,

750 Seiten und keine Erklärung für den Rückgabewert? Schwaches Bild ...

Aber wie gut, dass es da noch Mr. Goo gib ;)
Microsoft sagt dazu so einiges, insbesondere hier. Da kannst du dann die Adresse bzw. Zeile/Spalte auswerten und weiter verwenden.
Gruß
Günther

Offline mumpel

  • Spezialist für RibbonX-Programmierung
  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 195
    • Profil anzeigen
    • Microsoft-Office-Add-Ins
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #10 am: Mai 19, 2014, 13:22:44 Nachmittag »
[...] was es mit dem oft (auch bei dieser Methode wieder) erwähnten „Rückgabewert“ [...]
Was meinst Du genau damit?

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #11 am: Mai 19, 2014, 22:48:10 Nachmittag »
Ähmmm,

die Frage kann ich nur exakt so zurück geben. Ich habe dich zitiert und dann einen "vernünftigen" Link dazu gepostet und dir noch erklärt, was du mit dem Rückgabewert beispielsweise machen kannst ...

Genau so hatte ich diene Frage verstanden.
Gruß
Günther

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline kealfra

  • Newbie
  • *
  • Beiträge: 28
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2007
Antw:Office 2007: Excel-Makro
« Antwort #12 am: Mai 25, 2014, 12:41:35 Nachmittag »
Hallo Günther,

Das "Namenlos" entspringt nicht meinem Wunsch, mich im Verborgenen zu halten. Es kommt vielmehr daher, dass ich in zwei anderen Foren angeranzt worden bin, ich solle gefälligst meinen  Privatnamen aus dem Spiel lassen und mich meines Nutzernamens bedienen

Deine letzte Äußerung ist mir schleierhaft. Kann es sein, dass Du auf die Nachfrage von "Mumpel" geantwortet und dabei geglaubt hast, sie käme von mir?

Was auf den Monitor kommt, wenn ich Deinen Link "hier" anklicke, ist doch offenbar größtenteils die Mikrosofthilfe die erscheint, wenn ich aus einem Modul heraus "Range.Find-Methode" als Frage eingebe. Wenn hier die Möglichkeit geschildert wird, wie und wo man den Rückgabewert auslesen kann, reichen meine Kenntnisse nicht aus, um das zu erkennen.

Kannst Du mir eine weitere Erläuterung zuteil werden lassen?

mfg wohnwagen

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2007: Excel-Makro
« Antwort #13 am: Mai 26, 2014, 02:10:32 Vormittag »
Moin,

ja, ich hatte zuerst kealfra (also dich) gemeint (direkt über meinem Post) und dann noch in der Tat auf Mumpel geantwortet ...

Zitat
Das "Namenlos" entspringt nicht meinem Wunsch, mich im Verborgenen zu halten. Es kommt vielmehr daher, dass ich in zwei anderen Foren angeranzt worden bin, ich solle gefälligst meinen  Privatnamen aus dem Spiel lassen und mich meines Nutzernamens bedienen

Also, ich glaube dir das unbesehen. Aber ich kann über so etwas nur den Kopf schütteln. Zugegeben, in Foren
die sich meist durch eine schwarze oder sehr dunkle Hintergrundfarbe auszeichnen ist mitunter ein gewisses Maß an Anonymität sinnvoll oder auch erwünscht. Deshalb "ranzt" man aber niemanden an. Nett darauf hinweisen wäre ja noch OK ... In den meisten ethisch höher stehenden Foren ist es durchaus üblich, dass gerne ein NickName gesehen ist aber in der Signatur (beim Gruß) der (möglichst) richtige Vorname steht. ICH jedenfalls antworte lieber einem Menschen als einer anonymen Sache ... (Das sollte kein Wink mit dem Zaunpfahl sein ;))
Gruß
Günther

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.