Wie kann ich Daten von einer Internetseite automatisch in Excel importieren?

Hallo zusammen,

ich bin gerade dabei, eine Datenbank zu erstellen und würde dafür gerne Daten von einer Website automatisch auslesen lassen. Konkret geht es um die Arbeitslosenquoten aller Landkreise und Städte, die von der Bundesagentur für Arbeit monatlich veröffentlicht werden.

Hier ein Link zu einer Beispielstadt: https://statistik.arbeitsagentur.de/Navigation/Statistik/Statistik-nach-Regionen/Politische-Gebietsstruktur/Bayern/Amberg-Stadt-Nav.html

Im Beispiel sollte die Arbeitslosenquote insgesamt (5,9) und der Stand der Angabe (Mai 2016), der über der Tabelle steht, ausgelesen werden.

Im HTML-Code ist die Quote in folgender Zeile angegeben: 5,9 Beim Datum sieht es folgendermaßen aus: Ar­beits­markt im Über­blick - Be­richts­mo­nat Mai 2016 - Am­berg, Stadt

Dabei sollten die ausgelesenen Werte in zwei separaten Excel-Feldern ausgegeben werden. Das muss aber nicht zwingend alles in einem Makro geschehen. Zwei Makros für die unterschiedlichen Felder wären optimal, da ich den Code dann wahrscheinlich auch besser nachvollziehen kann.

Da die direkte Webabfrage über Excel nicht funktioniert, weil die Seite nicht korrekt geladen wird, denke ich, dass VBA hier unumgänglich ist, oder? Ich habe jedoch leider keine Programmierkenntnisse und bin aus den Einträgen in diversen Foren leider auch nicht schlau geworden.

Im Nachhinein müsste das Makro entsprechend anpassbar sein, sodass ich auch die Daten der anderen Städte auslesen kann (die Quellseite ist immer nach dem gleichem Prinzip aufgebaut).

Falls jemand eine Idee hat, wie das Problem zu lösen ist, würde ich mich sehr darüber freuen! Vielen Dank!

Computer, Microsoft, Visual Basic, Microsoft Excel, Daten, VBA, Datenbank, Tabelle, Abfrage
Hey, wie bekomme ich via Excel VBA eine Mail bei Lotus Notes geschrieben, sodass ich sie vorher noch bearbeiten kann?

Sobald ich die Mail ohne Bearbeitung verschicke, ist die Mail inklusive des Inhaltes. Sobald ich sie bearbeiten will vorher bzw. noch einmal manuell auf "senden" drücken will (Vorsichtsmaßnahme), ist der komplette Inhalt, bis auf die Betreffzeile, verschwunden.

Beiliegend ist mein Codebeispiel

Sub SendNotesMail2()

Dim UserName As String
Dim MailDbName As String
Dim Recipient As Variant
Dim Maildb As Object
Dim MailDoc As Object
Dim session As Object
Dim stSignature As String



With Application
.ScreenUpdating = False
.DisplayAlerts = False


AWS = ActiveWorkbook.FullName
Set Worksheet = Application.ActiveWorkbook.Worksheets.Item(1)
Set session = CreateObject("Notes.NotesSession")
Set Maildb = session.CURRENTDATABASE
Set MailDoc = Maildb.createdocument
MailDoc.Form = "Memo"
Set Workspace = CreateObject("Notes.NOTESUIWORKSPACE")
stSignature = Maildb.GetProfileDocument("CalendarProfile").GetItemValue("Signature")(0)
Recipient = "f"
MailDoc.display = ""
MailDoc.copyto = "" 
MailDoc.subject = "price update"
MailDoc.SAVEMESSAGEONSEND = saveit
Set ritem = MailDoc.CreateRichTextItem("Body")
For i = 2 To 37
With ritem
        .AppendText ("")
        .AppendText (Cells(i, 2).Value & vbTab & Cells(i, 3).Value & vbTab & Cells(i, 4).Value & vbTab & Cells(i, 5).Value & vbTab)
        .addnewline (1)
End With
Next
For i = 2 To 2
With ritem
        .AppendText ("" & vbCrLf & vbCrLf & stSignature)
End With
Next


Call Workspace.editdocument(True, MailDoc).GOTOFIELD("subject")


MailDoc.PostedDate = Now()

Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachMe = Nothing
Set session = Nothing
.ScreenUpdating = True
.DisplayAlerts = True
End With
Range("a1").Select
End Sub             
Computer, Microsoft Excel, E-Mail, Lotus Notes
Excel soll Automatisch Text ausfüllen wenn eine Zahl angegeben wird?

Hallo

Ich bekomme eine Liste mit Zahlen und muss diese dann in Excel eintragen, bzw. Raussuchen welches Wort zu welcher Zahl passt und dann das noch eingeben. Excel soll dann anhand der von mir angegeben Zahl in einerm anderen einen Passenden Text hinsetzten. Wenn aber nichts da steht soll da nicht WERT oder NAME oder so stehen sondern es soll leer bleiben.

Beispiel Ich bekomme die Liste Name | Datum | Objekt

Das Objekt ist nur eine Zahl

Hans | 1.6.16 | 5

Excel soll mir dann neben der Zahl das Objekt in Worte fassen

Hans | 1.6.16 | 5 | Garten

Wenn dann aber bei der Objekt Zahl noch kein Wert drin steht soll da auch nichts stehen. Auch kein Fehler.

Zudem möchte ich die Formel eingeben können und einmal nach unten ziehen und nicht jedesmal alles eingeben müssen.

Ich habe alle Werte in der Selben Arbeitsmappe in Tabelle 2 eingegeben. In Tabelle 1 Arbeite ich.

Tabelle 2 sieht in etwa so aus

1 | Wohnung 2 | Haus 3 | Platz 4 | Abstellraum 5 | Garten

Habe dann versucht das ganze mit sverweis zu lösen.

=SVERWEIS(B1;Tabelle2!A1:B16;2)

Sprich Wenn in B1 eine Zahl steht; Aus Tabelle 2 A1-B16; in der zweiten spalte dann soll er das Wort dahinter nehmen.

Klappt soweit ziemlich gut, nur Probelem sind trotzdem da.

  1. Wenn noch Kein Wert (Zahl) in Tabelle 1 steht dann steht da #NV Wie bekomme ich das Weg?

  2. Ich kann die Formel nicht runter ziehen sonst werden alle Werte geändert

=SVERWEIS(B1;Tabelle2!A1:B16;2) =SVERWEIS(B2;Tabelle2!A2:B16;3) =SVERWEIS(B3;Tabelle2!A3:B16;4)

jedoch sollte es beim runterziehen der Formel so aussehen:

=SVERWEIS(B1;Tabelle2!A1:B16;2) =SVERWEIS(B2;Tabelle2!A1:B16;2) =SVERWEIS(B3;Tabelle2!A1:B16;2)

Weil die Matrix (A1:B16) bleibt ja die selbe.

Bin dankbar über jeden Rat. Es muss nicht mit sverweis gelöst sein. Jedoch suchen und ersetzen ist auch keine Option, da es zum einen mehr aufwand ist und zum anderen benötige ich ja die Zahl und das dazugehörige Wort.. Geht aber auch nicht immer.

Danke euch Gruss Grischabock

Microsoft Excel, Zahlen, ersetzen, automatisch, Formel, Wort, Sverweis, wenn, Durch
Warum stimmen Vorderseite und Rückseite nicht überein bei meiner Arbeitsmappe?

Hallo. Ich arbeite gerade an Eintrittskarten für eine Veranstaltung. Wir vom Verein haben nämlich im Herbst eine Veranstaltung, bei der wir Eintrittskarten verteilen werden. Ich habe sie in Excel 2010 entworfen. Es passen 6 Karten nebeneinander auf ein Blatt (man muss sie dann nur noch zerschneiden). Vorder- und Rückseite sind genau gleich groß. Aber beim Drucken haut es einfach nicht hin. Ich drucke die Vorderseite, dann drehe ich das Blatt um, um die Rückseite zu drucken. Aber da haut das mit den Rändern gar nicht mehr hin. Ich habe dann die Vorderseite kopiert und in Word 2010 eingefügt, danach auf die Seite darunter in der selben Datei die Rückseite. Beide Seiten haben die selben Seitenränder. Aber auch hier klappt es mit dem Druck nicht; vorder- und Rückseite sind nicht gleich, also man würde, wenn man auf der Vorderseite schneidet (zwischen den Karten) die Rückseite nicht treffen und die Karten nicht an der dafür vorgesehenen stelle zerschneiden. Wie kann ich sowas hinbekommen? Auf der Rückseite der Karte stehen bloß rechtliche Sachen wie Umtausch oder Rückgabe ausgeschossen etc. Das würde dann zwar auf dem Kopf stehen, aber das ist egal. Wie bekomme ich es also hin, dass vorder- und Rückseite so gedruckt werden, dass man sie exakt zerschneiden kann, ohne dabei die Rückseite oder so zu zerschneiden?

Computer, Microsoft, Office, Microsoft Excel, Technik, print, Druck, EDV, Veranstaltungstechnik, Werden
Wie kann ich bei VBA nach mehreren Kriterien in einer Zeile suchen?

Hallo zusammen.

Ich hab leider nix gescheites zu meiner Problemstellung gefunden, deshalb frage ich jetzt einfach mal direkt nach: Ich möchte in einer großen Tabelle nach mehreren Kriterien in der ersten Zeile suchen. In dieser Zeile sind Überschriften (aus einer .xml übernommen). Leider wiederholen sich die Überschriften ab und an, allerdings mit den unterschiedlichsten Ziffern als Anhängsel (zb AKMKaufteile, AKMKaufteile5, AKMKaufteile324...). Das wäre jetzt aber noch kein Problem, da ich ja normalerweise eh nur nach Teilen des Wortes suche. Ich habe allerdings auch Überschriften die ziemlich ähnlich sind und mit als Treffer gewertet werden so wie ich das mache (zb AKMKaufteileD34, AKMKaufteileB412... also immer entweder das D oder das B mit da drin, und diese Spalten brauche ich nicht).

Zusammengefasst möchte ich einfach nur die erste Zeile nach AKMKaufteile (das ohne D und B) suchen und auch die Zellen/Spalten haben, wo die Ziffern angehängt sind; es handelt sich dabei um Preise, bei D ist das Datum und B der Benutzername angegeben, letztere beiden sind uninteressant).

For i = 1 To 1000
   If InStr(1, Cells(1, i).Value, "AKMKaufteile") > 0 And InStr(1, Cells(1, i).Value, "AKMKaufteileB*") = 0 And InStr(1, Cells(1, i).Value, "AKMKaufteileD*") = 0 Then
      For j = 1 To 300
         If InStr(1, Cells(j, i).Value, "") > 0 Then
             Cells(j, i).Activate
              ActiveCell.Copy Destination:=Worksheets("Ergebnis").Cells(j, 10).Offset(1)
         End If
      Next j
         
   End If
Next i

(So klappt es leider nicht)

Vielen Dank für jeden Tipp der mich weiterbringt ::)

Gruß

Jan

Microsoft Excel, Filter, Makro, VBA

Meistgelesene Beiträge zum Thema Microsoft Excel