Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1376to1380
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

Excel/VBA Webabfrage

Excel/VBA Webabfrage
25.08.2014 08:44:44
Melissa
Hallo zusammen,
folgendes Szenario:
Ich möchte ISBN Nummern in eine Excel Tabelle speichern und dann Informationen dazu abrufen lassen aus dem Internet (Buchtitel, Autor, Erscheinungsdatum).
Bisher habe ich folgendes:
Exceltabelle, wenn in den Feldern A1, B1, C1 etc. die ISBN Nummern eingetragen werden, dann generiert sich in A2, B2, C2 etc. ein Link der zu Amazon führt und das entsprechende Buch anzeigt.
Jetzt hätte ich gerne, dass in den Feldern A3, A4, A5 die Infos von oben importiert werden, also das dort Buchtitel, Autor und Erscheinungsdatum in den Feldern erscheinen.
Bedeutet:
In A1 wird die ISBN eingegeben per Handscanner, daraufhin generiert sich der Link in A2 der zu Amazon führt, in A3 soll der Titel erscheinen, in A4 der Autor und in A5 das Erscheinungsdatum. Dasselbe soll dann für B1, C1 etc. passieren.
Ich weiß, dass sowas mit VBA möglich ist, allerdings habe ich so gut wie keine Kenntnisse in VBA. :-(
Ich habe hier im Forum schon ein Skript gefunden, welches, wenn man eine ISBN Nummer eingibt die entsprechende Webseite aufruft. Allerdings ist dort eine feste ISBN hinterlegt.
Es wäre super, wenn mir jemand vielleicht ein Skript schreiben könnte, welches die oben genannten Anforderungen erfüllt oder ob jemand das Skript welches bereits hier im Forum vorhanden ist ein wenig umschreibt.
Ich würde mir im nachhinein das Skript anschauen und versuchen zu verstehen, damit ich auch weiß, was genau dort passiert.
Es wäre wirklich super, wenn mir jemand helfen könnte...
Liebe Grüße
Melissa

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel/VBA Webabfrage
25.08.2014 10:16:43
fcs
Hallo Melissa,
Ich habe hier im Forum schon ein Skript gefunden, welches, wenn man eine ISBN Nummer eingibt die entsprechende Webseite aufruft. Allerdings ist dort eine feste ISBN hinterlegt.
Wenn du schon etwas fast passendes gefunden hast, dann solltest du hier den entsprechenden Link mit posten.
Ideal wäre wenn du deine vorhandene Tabelle, ggf. anonymisiert, hier hocladen würdest, dann muss man weniger nachbauen.
Gruß
Franz

AW: Excel/VBA Webabfrage
25.08.2014 13:14:03
fcs
Hallo Melissa,
ich hab jetzt mal versucht das Script/Makro anzupassen.
Leider sind die Einträge auf der Amzon-Seite nicht systematisch immer gleich aufgebaut.
Deshalb kann es bei der Auswertung des eingelesenen Textes zu Fehlern im Makroablauf kommen. Evtl. muss man da nochmals nachbessern.
Gruß
Franz
Sub webabfrage()
Dim i As Long, Zeile As Long
Dim Itext As String
Dim MyUrl As String
Dim MyISBN As String
Dim IEApp As Object
Dim IEDocument As Object
Dim strTitel As String, strAutor As String, varDatum
On Error GoTo Fehler
For Zeile = 3 To Cells(Rows.Count, 1).End(xlUp).Row
MyISBN = Cells(Zeile, 1).Text
MyUrl = "http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=" _
& "%C3%85M%C3%85%C5%BD%C3%95%C3%91&url" _
& "=search-alias%3Daps&field-keywords=" & MyISBN
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate MyUrl
Do
DoEvents
Loop Until IEApp.readyState = 4
Set IEDocument = IEApp.Document
Itext = IEDocument.body.innertext
'Debug.Print Itext
IEApp.Quit
Set IEApp = Nothing
Set IEDocument = Nothing
'Text vor Keyword (ISBN in Anführungszeichen) abschneiden
Itext = Mid(Itext, InStr(1, Itext, """" & MyISBN & """"))
'Text nach der ")" abschneiden
Itext = Left(Itext, InStr(1, Itext, ")"))
'Debug.Print Itext
strTitel = ""
strAutor = ""
varDatum = ""
'Prüfen, ob " von " im Text vorhanden - trennt Titel und Autor
If InStr(1, Itext, " von ") > 0 Then
strTitel = Left(Itext, InStr(1, Itext, " von ") - 1)
strTitel = Mid(strTitel, Len(MyISBN) + 7)
strAutor = Mid(Itext, InStr(1, Itext, " von ") + 5)
strAutor = Trim(Left(strAutor, InStrRev(strAutor, "(") - 1))
Else
'Titel ohne Autor
strTitel = Itext
strTitel = Mid(strTitel, Len(MyISBN) + 7)
End If
'Prüfen ob "(" im Text - danach beginnt meistens Erscheinungsdatum
If InStrRev(Itext, "(") > 0 Then
varDatum = Trim(Mid(Itext, InStrRev(Itext, "(") + 1))
varDatum = Replace(varDatum, ")", "")
End If
Resume01:
Cells(Zeile, 4).Value = strTitel
Cells(Zeile, 5).Value = strAutor
Cells(Zeile, 6).Value = varDatum
Next Zeile
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 5 'Fehler bei der Instr-Suche bzw. der Mid- oder Left-Funktion
Resume Resume01
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Excel/VBA Webabfrage
25.08.2014 13:34:25
Melissa
Hey,
super, vielen lieben Dank, dass klappt bisher hervorragend. Ja das mit den Feldern habe ich mir gedacht, dass das eventuell nicht einfach wird, aber dann muss man eben teilweise händisch die Infos vervollständigen.
Jetzt habe ich noch eine kleine Frage.
Wenn ich jetzt das Skript ausführe, dann ändert sich das alles. Ich finde gerade nicht die richtigen Worte um das zu erklären, deswegen ein Bild als Screenshot angefügt.
Userbild
Kann man das noch irgendwie verhindern?
Wenn nicht - nicht schlimm, bin wirklich dankbar für dieses Skript welches du geschrieben hast.
Grüße
Melissa

Anzeige
AW: Excel/VBA Webabfrage
25.08.2014 13:58:51
fcs
Hallo Melissa,
mach die Spalten D bis F etwas breiter und formatiere die Spalten so, dass der Inhalt linksbündig ausgerichtet wird. Die Spalte C mit den Links kannst du auch schmaler machen, ußerdem würde ich die Formel anpassen, so dass die komplette Linkadresse sondern nur ein kürzezerer Text angezeigt wird.
z.B. in C3:
=WENN(A3="";"";(HYPERLINK(VERKETTEN("http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_
DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=";A3)
;"Amazon ISBN " & TEXT(A3;"0"))))
Gruß
Franz

Anzeige
AW: Excel/VBA Webabfrage
26.08.2014 07:46:10
Melissa
Guten Morgen Franz,
erst mal nochmal riesen Dank für das super Skript. Das mit deinem Tipp hat leider nicht geklappt, dass Problem ist wohl, dass beim Autor und Titel vor dem Text Leerzeichen mit eingefügt werden. Siehe Screen:
Userbild
Das wird man wohl nichts machen können... Dann muss ich da händisch die Leerzeichen entfernen, es kann ja nicht alles optimal laufen :D
Die Kürzung des Links war eine super Idee, schaut so viel besser aus, auch hier nochmal Danke! :D
Jetzt hätte ich wohl noch eine kleine Frage bzw. Sache die man noch ändern könnte. Kann man es in dem Skript noch so ändern, dass bereits vorhandene Einträge nicht wieder neu eingetragen werden? Also wenn ich in im ersten Feld die ISBN eintrage und dann das Skript ausführe stehen die Infos ja dort. Wenn ich jetzt ins zweite Feld die ISBN eintrage und dann das Skript ausführe, dann wird ja in die erste Zeile nochmal die Daten eingetragen, kann man das noch verhindern und wenn ja könntest du das vielleicht noch anpassen im Skript, WENN es kein allzu großer Aufwand ist?
Ansonsten wie gesagt ganz ganz lieben Dank für deine Zeit und deine Mühe!

Anzeige
AW: Excel/VBA Webabfrage
26.08.2014 08:37:40
fcs
Hallo Melissa,
ich hab noch ein wenig rumgetüftelt am Makro.
Die Startzeile für das Auswerten der Links kannst du jetzt in einer Inputbox eingeben.
Als Vorgabewert wird die Zeile der aktiven Zelle genommen.
Die "Leerzeichen", die angezeigt werden sind Zeilenschaltungen. Deren Anzahl ist scheinbar immer unterschiedlich. Sie werden jetzt ersetzt, so dass vor dem Titel in den Excelzellen keine mehr vorhanden sein sollten.
Gruß
Franz
Sub webabfrage()
Dim i As Long, Zeile As Long
Dim Itext As String
Dim MyUrl As String
Dim MyISBN As String
Dim IEApp As Object
Dim IEDocument As Object
Dim strTitel As String, strAutor As String, varDatum, varZeile
On Error GoTo Fehler
varZeile = Application.InputBox("Startzeile für Einlesen der Links", _
"Amazon-Links auswerten", ActiveCell.Row, Type:=1)
If varZeile  0 Then
strTitel = Left(Itext, InStr(1, Itext, " von ") - 1)
strTitel = Trim(Mid(strTitel, Len(MyISBN) + 3))
strAutor = Mid(Itext, InStr(1, Itext, " von ") + 5)
strAutor = Trim(Left(strAutor, InStrRev(strAutor, "(") - 1))
Else
'Titel ohne Autor
strTitel = Itext
strTitel = Trim(Mid(strTitel, Len(MyISBN) + 3))
End If
'Prüfen ob "(" im Text - danach beginnt meistens Erscheinungsdatum
If InStrRev(Itext, "(") > 0 Then
varDatum = Trim(Mid(Itext, InStrRev(Itext, "(") + 1))
varDatum = Replace(varDatum, ")", "")
End If
Resume01:
Cells(Zeile, 4).Value = strTitel
Cells(Zeile, 5).Value = strAutor
Cells(Zeile, 6).Value = varDatum
Next Zeile
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 5 'Fehler bei der Instr-Suche bzw. der Mid- oder Left-Funktion
Resume Resume01
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Excel/VBA Webabfrage
26.08.2014 09:12:17
Melissa
Hallo Franz,
absolut perfekt. Genau so hab ich mir das vorgestellt. Ein riesen Dankeschön für deine Hilfe bzw. für das Skript.
Habe mir jetzt noch einen Button erstellt, der das Makro ausführt, dass macht es dann noch bisschen leichter :D.
Jetzt versuche ich noch das Skript zu verstehen und nachzuvollziehen und dann ist alles perfekt.
Wie gesagt nochmals vielen vielen Dank. (:

AW: Excel/VBA Webabfrage
26.08.2014 10:10:15
Melissa
Ich bins nochmal...
@Franz - wäre es noch möglich den Preis und das Cover abzufragen? Oder wäre das zu aufwendig?
In Excel würde das dann so aussehen wie bisher nur hinter Titel, Autor, Erscheinungsdatum, Preis, Cover
Also nur wenn du Lust und Zeit hast das noch zu machen. Hab bisher ein paar Zeilen des Skriptes verstanden aber selbst was einfügen traue ich mich nicht..

Anzeige
AW: Excel/VBA Webabfrage
26.08.2014 11:47:49
fcs
Hallo Melissa,
das Cover ist ja ein Grafikelement mit einem Link. Dies läßst so nicht in die Exceldatei übertragen.
Die Preise "neu" und "gebraucht" kann man herausfischen. Sie werden jetzt in Spalte G und H eingetragen.
Dabei hab ich auch nochmals die Suche nach Autor und Erscheinungsdatum optimiert.
Gruß
Franz
Sub webabfrage()
Dim i As Long, Zeile As Long
Dim Itext As String
Dim MyUrl As String
Dim MyISBN As String
Dim IEApp As Object
Dim IEDocument As Object
Dim strTitel As String, strAutor As String, strPreis, varDatum, varZeile
On Error GoTo Fehler
varZeile = Application.InputBox("Startzeile für Einlesen der Links", _
"Amazon-Links auswerten", ActiveCell.Row, Type:=1)
If varZeile  0 Then
Itext = Left(Itext, InStr(1, Itext, "gebraucht (") - 1)
strPreis = Trim(Mid(Itext, InStrRev(Itext, "EUR")))
Cells(Zeile, 8) = strPreis
End If
If InStr(1, Itext, "neu (") > 0 Then
Itext = Left(Itext, InStr(1, Itext, "neu (") - 1)
strPreis = Trim(Mid(Itext, InStrRev(Itext, "EUR")))
Cells(Zeile, 7) = strPreis
End If
If Cells(Zeile, 7) = "" And Cells(Zeile, 8) = "" Then
Cells(Zeile, 7) = "keine Preisinfo"
End If
'Text vor letztem "EUR " abschneiden
If InStrRev(Itext, "EUR ") > 0 Then
Itext = Left(Itext, InStrRev(Itext, "EUR ") - 1)
End If
'Text nach letzter ")" abschneiden
If InStrRev(Itext, ")") > 0 Then
Itext = Left(Itext, InStrRev(Itext, ")"))
End If
'Zeilenschaltungen durch Leerzeichen ersetzen
Itext = Trim(Replace(Itext, Chr(10), " "))
Itext = Trim(Replace(Itext, Chr(13), " "))
'doppelte Leerzeichen durch einzelnes Leerzeichen ersetzen
Itext = Trim(Replace(Itext, "  ", " "))
strTitel = ""
strAutor = ""
varDatum = ""
'Prüfen, ob " von " im Text vorhanden - trennt Titel und Autor
If InStrRev(Itext, " von ") > 0 Then
strTitel = Left(Itext, InStrRev(Itext, " von ") - 1)
strTitel = Trim(Mid(strTitel, Len(MyISBN) + 3))
strAutor = Mid(Itext, InStrRev(Itext, " von ") + 5)
strAutor = Trim(Left(strAutor, InStrRev(strAutor, "(") - 1))
Else
'Titel ohne Autor
strTitel = Itext
strTitel = Trim(Mid(strTitel, Len(MyISBN) + 3))
End If
'Prüfen ob "(" im Text - danach beginnt meistens Erscheinungsdatum
If InStrRev(Itext, "(") > 0 Then
varDatum = Trim(Mid(Itext, InStrRev(Itext, "(") + 1))
varDatum = Replace(varDatum, ")", "")
End If
Resume01:
Cells(Zeile, 4).Value = strTitel
Cells(Zeile, 5).Value = strAutor
Cells(Zeile, 6).Value = varDatum
Next Zeile
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 5 'Fehler bei der Instr-Suche bzw. der Mid- oder Left-Funktion
Resume Resume01
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Excel/VBA Webabfrage
28.08.2014 09:13:47
Melissa
Hallo Franz,
sorry für die späte Rückmeldung. Vielen Dank nochmal. Denke das reicht jetzt erstmal.
Falls ich noch was brauche melde ich mich nochmal, aber ansonsten schonmal ein riesen Danke schön an Dich.
Gruß
Melissa

AW: Excel/VBA Webabfrage
28.08.2014 09:51:17
Melissa
Hallo nochmal
Noch eine kurze Frage..
Bisher hatte ich die Spalten so:
ISBN Nummer, Link, ID, Autor, Titel, Datum, Preis Neu, Preis Gebraucht
Jetzt wollte ich die ID vor die ISBN Nummer und den Link setzen. Also so:
Buch-ID, ISBN, Link, Autor, Titel, Datum, Preis Neu, Preis Gebraucht
Wenn ich das allerdings so verschiebe dann funktioniert das Skript nicht mehr... es werden einfach keine Daten eingetragen, dabei hat sich doch nichts geändert.
Muss man das Skript da anpassen? Wenn ja wäre das das einzige was ich momentan noch bräuchte. Wobei ich es ehrlich gesagt nicht verstehe, da die Daten ja immer noch in die selben Zeilen geschrieben werden...
Gruß
Melissa

Anzeige
AW: Excel/VBA Webabfrage
28.08.2014 11:16:07
fcs
Hallo Melissa,
wenn du die Reihenfolge der Spalten A bis C änderst, dann ändert sich schon etwas.
Das Makro liest aus Spalte A die ISBN-Nr. aus, um daraus dann den Link zu berechnen.
Wenn die ISBN-Nr. jetzt in Spalte in Spalte B steht, dann musst du die folgenden 2 Zeilen anpassen.
   For Zeile = varZeile To Cells(Rows.Count, 2).End(xlUp).Row
MyISBN = Cells(Zeile, 2).Text

Gruß
Franz

AW: Excel/VBA Webabfrage
29.08.2014 11:04:37
Melissa
Hallo Franz,
Ja das ganze klingt logisch, wenn man es jetzt weiß. :-)
Ich bin gerade dabei den kompletten Quelltext zu verstehen. Bisher klappt das ganz gut, aber ich finde einfach keine richtig genaue Erklärung zu folgendem:
Dim i As Long, Zeile As Long
Dim MyUrl As String
Dim Itext Ss String
Dim MyISBN As String
Dim IEApp As Object
Dim IEDocument As Object
Dim strTitel As String, strAutor As String, strPreis, varDatum, varZeile
Die folgenden Begriffe verstehe ich ohne Probleme:
Dim, As Long, as String und as Object
Die Namen der einzelnen Variablen sind dann wahrscheinlich i, Itext MyUrl, MyISBN, IEApp, IEDocument, strTitel und so weiter. Jetzt frage ich mich nur ob das von dir festgelegte Namen sind oder ob die zwingend so heißen müssen und was sie genau bedeuten.
Itext ist wahrscheinlich der Text von der Webseite oder?
MyUrl ist die URL welche eingetragen ist also die die zu Amazon führt
MyISBN ist die ISBN Nummer welche eingetragen wird
IeApp bedeutet, dass der Internet Explorer geöffnet wird um dort die Daten rauszuholen
IeDocument weiß ich leider nicht.
Die restlichen Sachen ergeben sich ja bis auf varZeile (siehe unten)
Und das was ich garnicht verstehe ist: Zeile as Long und varZeile. Was genau bedeutet das?

AW: Excel/VBA Webabfrage
29.08.2014 12:52:31
fcs
Hallo Melissa,
mit den Dim-Anweisungen werden Variablen deklariert.
siehe auch VBA-Hilfe unter "Deklarieren von Variablen"
Ohne As .... hat eine Variable den Type Variant und man kann ihr beliebige Werte oder Objekte zuweisen.
Mit Varaible As ... wird der Variablen ein Typ zugewiesen und man kann ihr nur noch entsprechende Daten zuweisen bzw. es findet eine Wertkonversion in den Typ statt
Einer Variablen vom Typ Long kann man keinen Text zuweisen.
Mit einer Variablen vom Typ String kann man im Allgemeinen keine Rechenoperationen durchführen.
Variablen vom Typ Object muss man in einer Set-Anweisung ein Objekt zuweisen.
Die Namen der Variablen kann man beliebig wählen, man sollte allerdings keine VBA-Schlüsselwörter als Variablennamen verwenden (z.B. Name, Value, Text oder andere). Ich versuche bei den Varaiblennamen möglichs den Verwendungszweck zu berücksichtigen oder auch durch vorangestellte Zeichen, wie var=Variant, str=String, int=Ineger etc., den Variablentyp im Namen zu berücksichtigen. Das Klappt nicht immer und in deinem Code gibt es ja auch noch die Festlegungen des ursprünglichen Verfassers.
In Verbindung mit der Zeile
Option Explicit
als 1. Zeile in einem Code-Modul ist die Variablendeklaration hilfreich bei der Fehlersuche. Schreibfehler werden leichter Erkannt.
Bei Ojektvariablen, die man ja auch als As Worksheet oder As Range deklarieren kann, hat man den Vorteil, dass im VBA-Editor bei Eingabe des Punktes nach der Variablen die möglichen Methoden und Eigenschaften zur Auswahl angezeigt werden.
IeApp bedeutet, dass der Internet Explorer geöffnet wird um dort die Daten rauszuholen
IeApp ist eine Variable, der in der Set-Anweisunge der nackte Internetexplorer durch die CreateObject(...)-Anweisung zugewiesen wird.
In den nachfolgenden Zeilen wird der IE dann mit Leben gefüllt (sichtbar machen, Seite ansteuern)
IeDocument weiß ich leider nicht.
mit
Set IEDocument = IEApp.Document
wird der Variablen das zur Zeit im IE angezeigte Dokument zugewiesen.
In den nachfolgenden Zeilen wird dann eine bestimmte Eigenschaft (body.innertext) des Dokuments ausgelesen.
Und das was ich garnicht verstehe ist: Zeile as Long und varZeile. Was genau bedeutet das?
Zeile as Long ist eine explizite Variablendeklaration
varZeile ist eine Varaiablendeklarion ohne Typzuweisung
Warum ich das so gemacht hab weiss ich nicht genau. Wahrscheinlich wusste ich noch nicht genau, wie ich die StartZeile der Schleife vorgeben wollte (InputBox oder Application.Inputbox). Da hab ich den Typ erst einmal offen gelassen.
Ich hofe, das hilft weiter.
Gruß
Franz

AW: Excel/VBA Webabfrage
29.08.2014 13:37:00
Melissa
Hallo,
ja das hilft mir auf jeden Fall weiter beim Verstehen des Quellcodes :-)
Danke Dir, dass wars für heute erst mal :D

AW: Excel/VBA Webabfrage
29.08.2014 15:27:57
Melissa
Jetzt habe ich noch eine andere Frage.
Kennst du dich auch mit dem Import per VBA aus? Also wenn ich diese Excel Liste in Access importieren möchte per VBA?
Wollte das eigentlich über die normale Importfunktion von Access machen, aber dabei werden 1. die Hyperlinks nicht übernommen und zweitens die Zahlenformate nicht richtig importiert -.-
Die ISBN wird nicht so 9780470009796 angezeigt sondern so 9,78047E+12. Das würde mit VBA wahrscheinlich auch zu beheben sein.
ich weiß allerdings nicht wie aufwendig so ein Import Skript ist.. Ich hab das Gefühl ich hab dir schon zu viel Arbeit gemacht =/
Gruß
Melissa

AW: Excel-Import nach Access inkl. Hyperlinks
30.08.2014 17:24:08
fcs
Hallo Melissa,
ich bin jetzt nicht der große Experte für MS-Access, hab aber mal ein wenig mit Office 2010 professional experimentiert.
Damit der Link in ein Access-Datenfeld übernommen wird sind 2 Bedingungen erforderlich.
1. Das entsprechende Feld muss beim Import bzw. bei der Tabellendefinition als Typ "Hyperlink" definiert werden.
2. Der Text für das Hyperlinkfeld muss in einer bestimmten Form importiert werden und zwar:
Friendly-Name#Link-Adresse#Sub-Adresse
Die # sind dabei das Trennzeichen. Die Sub-Adresse entfällt in deinem Fall.
Beispiel:
Amazon ISBN 9783860634882#http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=9783860634882#
Bleibt die Frage in welcher Spalte der Exceltabelle du die Link-Info für Access aufbereiten willst:
a) in der vorhandenen Link-Spalte - Dann müsste der Excel-Hyperlink anders hergestellt werden
b) in einer zusätzlich Spalte
Problem Zahlenformat:
verwende für alle Spalten -außer für den Link und evtl. die Buch-ID- beim Import für die Felder den Datentyp "Text", dann wird die ISBN korrekt übernommen. Access kann 13-stellige Zahlen nicht als Ganzzahl darstellen und wechselt deshalb in die Exponentialdarstellung.
Ich hab in der folgen ZIP-Datei mal meine Experimete zusamengefasst, da findest du eine Exceldatei mit dem Makro zur Auswertung der Amazon-Links, eine ACCESS-Datenbank (mit Tabelle, Formular, gespeicherter Importdatei) und einer Worddatei mit Anleitung zur Erstellung des Excelimports nach Access.
https://www.herber.de/bbs/user/92398.zip
Gruß
Franz

AW: Excel-Import nach Access inkl. Hyperlinks
01.09.2014 11:17:06
Melissa
Hallo Franz,
coole Sache, werde das ganze später mal auf mein Szenario übertragen und dann berichten. :)
Weiß allerdings noch nicht wann ich dazu kommen werde... Ich melde mich auf jeden Fall nochmal.
Danke nochmals.

AW: Excel-Import nach Access inkl. Hyperlinks
01.09.2014 15:14:23
Melissa
Hallo Franz,
die Anleitung ist wirklich klasse und hat mir sehr geholfen.
Wenn ich das richtig verstanden habe:
Wenn man in der Excel-Liste einen Datensatz hinzufügt und dann in Access über das Formular auf den Button: "Gespeicherten Import ISBN_Links starten" klickt, dann wird die Tabelle automatisch importiert in Access? Richtig?
Das habe ich nun auf meinen Button angewandt und ich bekomme immer die Fehlermeldung:
Laufzeitfehler 3422:
Die Tabellenstruktur kann nicht geändert werden. Ein anderer benutzer hat die Tabelle geöffnet.
Dabei ist weder das Formular geöffnet, noch die Tabelle, noch die Excel-Liste... =/
Eine Idee was der Fehler sein könnte?

AW: Excel-Import nach Access inkl. Hyperlinks
02.09.2014 09:15:47
Melissa
Hallo nochmal,
sorry für meinen dritten Beitrag hintereinander. Habe das Problem nun gelöst. Es hat sich ein Fehler im VBA Code eingeschlichen, daher ging das ganze nicht.
Nun funktioniert alles wunderbar.
Riesen Dank nochmal.
Sollte noch irgendwas sein melde ich mich, aber denke es klappt alles.

AW: Excel-Import nach Access inkl. Hyperlinks
02.09.2014 10:55:18
Melissa
Jetzt ist mir tatsächlich noch was eingefallen bzw. hatte es fast schon vergessen.
In Excel konnte man ja keine Bilder mit anzeigen lassen. Geht das denn jetzt in Access? Also das ich passend zum Hyperlink das Bild von Amazon mit laden kann?
Das hatte ich noch ganz vergessen zu fragen.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige