Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

HTML-Tabelle zu Excel-Tabelle

Empfohlene Antworten

Veröffentlicht

Hallo, ich habe ein Problem

ich möchte eine HTML-Tabelle (zB.1.Bundesliga-Tabelle) via VBA nach excel übertragen und es soll dann eine Excel-Tabelle werden.

Nun war ich soweit das die ich alles aus der HTML-Tabelle ausgelesen habe und nunwill ich aber mit Hilfe der regulären Ausdrücke die Tags entfernen damit nur noch die Daten stehen bleiben.Diese will ich dann wiederum in die Excel-Tabelle schreiben.

Jetzt hänge ich aber bei den Ausdrücken und brauch ein Gedankenanstoß, denn es stehn noch ein Haufen Leerzeichen und Semikolon da und die bekomme ich nicht weg.


Option Explicit


Public Function GetFile(Tabelle)

  Dim Html As String


  Open "D:\Eigene Uebungen Kevin\VBA\tabelle.htm" For Input As #1

  Do While Not EOF(1)

    Line Input #1, Tabelle

    Html = Html & Tabelle & vbCrLf

  Loop

  Close #1

  Html2Text (Html)

End Function



Public Sub Html2Excel()

  Dim Html, Text, Tabelle, strText As String


  Html = GetFile(Tabelle)

  Text = Html2Text(strText)

  Text2Excel (strText)

End Sub



Public Function Html2Text(strText)


  Dim strPattern As String

  Dim strRetStr  As String

  Dim strReplace As String

  Dim Tabelle    As String

  Dim Html As String


  strText = Html

  strPattern = "<+.+?>"

  strReplace = ";"

  strRetStr = GetRegExpString(strText, strPattern, strReplace)


  Debug.Print strRetStr

End Function



Public Function Text2Excel(Html)

    Cells(1, 1).Value = Html

End Function



Public Function GetRegExpString(ByVal vsStringIn As String, ByVal vsPattern As String, ByVal vsReplace As String) As String


  Dim objRegExp As RegExp

  Set objRegExp = New RegExp


  objRegExp.IgnoreCase = False

  objRegExp.Global = True

  objRegExp.Pattern = vsPattern


  GetRegExpString = objRegExp.Replace(vsStringIn, vsReplace)


  Set objRegExp = Nothing

End Function

und meine HTML-Tabelle:

<TABLE CELLPADDING=4 BORDER=0>

<TR BGCOLOR="Red"><TH COLSPAN=2>Platz<TH>Mannschaft<TH>Spl.<TH>gew.<TH>rem.<TH>verl.<TH>Tore<TH>Dif.<TH>Pkt.

<TR BGCOLOR="Green">	<TD ALIGN=right>	1	<TD ALIGN=right>	1	<TD>	1. FC Kaiserslautern	<TD ALIGN=right>	34	<TD ALIGN=right>	19	<TD ALIGN=right>	11	<TD ALIGN=right>	4	<TD>	74	:	28	<TD ALIGN=right>	46	<TD ALIGN=right>	68

<TR BGCOLOR="Green">	<TD ALIGN=right>	2	<TD ALIGN=right>	3	<TD>	VfL Wolfsburg	<TD ALIGN=right>	34	<TD ALIGN=right>	14	<TD ALIGN=right>	16	<TD ALIGN=right>	4	<TD>	52	:	29	<TD ALIGN=right>	23	<TD ALIGN=right>	58

<TR BGCOLOR="Green">	<TD ALIGN=right>	3	<TD ALIGN=right>	2	<TD>	Hertha BSC Berlin	<TD ALIGN=right>	34	<TD ALIGN=right>	17	<TD ALIGN=right>	7	<TD ALIGN=right>	10	<TD>	57	:	38	<TD ALIGN=right>	19	<TD ALIGN=right>	58

<TR BGCOLOR="White">	<TD ALIGN=right>	4	<TD ALIGN=right>	4	<TD>	FSV Mainz 05	<TD ALIGN=right>	34	<TD ALIGN=right>	14	<TD ALIGN=right>	12	<TD ALIGN=right>	8	<TD>	50	:	34	<TD ALIGN=right>	16	<TD ALIGN=right>	54

<TR BGCOLOR="White">	<TD ALIGN=right>	5	<TD ALIGN=right>	5	<TD>	Stuttgarter Kickers	<TD ALIGN=right>	34	<TD ALIGN=right>	14	<TD ALIGN=right>	11	<TD ALIGN=right>	9	<TD>	38	:	27	<TD ALIGN=right>	11	<TD ALIGN=right>	53

<TR BGCOLOR="White">	<TD ALIGN=right>	6	<TD ALIGN=right>	6	<TD>	SpVgg Unterhaching	<TD ALIGN=right>	34	<TD ALIGN=right>	11	<TD ALIGN=right>	16	<TD ALIGN=right>	7	<TD>	35	:	29	<TD ALIGN=right>	6	<TD ALIGN=right>	49

<TR BGCOLOR="White">	<TD ALIGN=right>	7	<TD ALIGN=right>	8	<TD>	Eintracht Frankfurt	<TD ALIGN=right>	34	<TD ALIGN=right>	13	<TD ALIGN=right>	9	<TD ALIGN=right>	12	<TD>	43	:	46	<TD ALIGN=right>	-3	<TD ALIGN=right>	48

<TR BGCOLOR="White">	<TD ALIGN=right>	8	<TD ALIGN=right>	7	<TD>	VfB Leipzig	<TD ALIGN=right>	34	<TD ALIGN=right>	12	<TD ALIGN=right>	10	<TD ALIGN=right>	12	<TD>	53	:	54	<TD ALIGN=right>	-1	<TD ALIGN=right>	46

<TR BGCOLOR="White">	<TD ALIGN=right>	9	<TD ALIGN=right>	11	<TD>	KFC Uerdingen 05	<TD ALIGN=right>	34	<TD ALIGN=right>	13	<TD ALIGN=right>	5	<TD ALIGN=right>	16	<TD>	46	:	44	<TD ALIGN=right>	2	<TD ALIGN=right>	44

<TR BGCOLOR="White">	<TD ALIGN=right>	10	<TD ALIGN=right>	9	<TD>	SV Meppen	<TD ALIGN=right>	34	<TD ALIGN=right>	10	<TD ALIGN=right>	14	<TD ALIGN=right>	10	<TD>	44	:	48	<TD ALIGN=right>	-4	<TD ALIGN=right>	44

<TR BGCOLOR="White">	<TD ALIGN=right>	11	<TD ALIGN=right>	13	<TD>	Fortuna Köln	<TD ALIGN=right>	34	<TD ALIGN=right>	11	<TD ALIGN=right>	9	<TD ALIGN=right>	14	<TD>	52	:	47	<TD ALIGN=right>	5	<TD ALIGN=right>	42

<TR BGCOLOR="White">	<TD ALIGN=right>	12	<TD ALIGN=right>	12	<TD>	Carl Zeiss Jena	<TD ALIGN=right>	34	<TD ALIGN=right>	9	<TD ALIGN=right>	15	<TD ALIGN=right>	10	<TD>	44	:	49	<TD ALIGN=right>	-5	<TD ALIGN=right>	42

<TR BGCOLOR="White">	<TD ALIGN=right>	13	<TD ALIGN=right>	14	<TD>	FC Gütersloh	<TD ALIGN=right>	34	<TD ALIGN=right>	12	<TD ALIGN=right>	9	<TD ALIGN=right>	13	<TD>	43	:	51	<TD ALIGN=right>	-8	<TD ALIGN=right>	42

<TR BGCOLOR="White">	<TD ALIGN=right>	14	<TD ALIGN=right>	10	<TD>	FSV Zwickau	<TD ALIGN=right>	34	<TD ALIGN=right>	12	<TD ALIGN=right>	6	<TD ALIGN=right>	16	<TD>	34	:	48	<TD ALIGN=right>	-14	<TD ALIGN=right>	42

<TR BGCOLOR="Red">	<TD ALIGN=right>	15	<TD ALIGN=right>	15	<TD>	SV Waldhof Mannheim	<TD ALIGN=right>	34	<TD ALIGN=right>	10	<TD ALIGN=right>	10	<TD ALIGN=right>	14	<TD>	45	:	56	<TD ALIGN=right>	-11	<TD ALIGN=right>	40

<TR BGCOLOR="Red">	<TD ALIGN=right>	16	<TD ALIGN=right>	16	<TD>	VfB Lübeck	<TD ALIGN=right>	34	<TD ALIGN=right>	8	<TD ALIGN=right>	12	<TD ALIGN=right>	14	<TD>	32	:	53	<TD ALIGN=right>	-21	<TD ALIGN=right>	36

<TR BGCOLOR="Red">	<TD ALIGN=right>	17	<TD ALIGN=right>	17	<TD>	Rot-Weiß Essen	<TD ALIGN=right>	34	<TD ALIGN=right>	8	<TD ALIGN=right>	5	<TD ALIGN=right>	21	<TD>	47	:	74	<TD ALIGN=right>	-27	<TD ALIGN=right>	29

<TR BGCOLOR="Red">	<TD ALIGN=right>	18	<TD ALIGN=right>	18	<TD>	VfB Oldenburg	<TD ALIGN=right>	34	<TD ALIGN=right>	6	<TD ALIGN=right>	9	<TD ALIGN=right>	19	<TD>	33	:	67	<TD ALIGN=right>	-34	<TD ALIGN=right>	27

</TABLE>

ich hoffe mi kann jemand helfen

Gruß VR6

Hmm, direkt Helfen kann ich dir da nicht. allerdings hast du in dem HTML weder die Zeilen noch die Spalten abgeschlossen, was im endeffekt dazu führt, dass alle werte in de ersten Zeile in der ersten Spalte geschreiben werden und innerhalb dieser verschachtelt werden.

Du solltest schon richtig schreiben


<table>
<tr>
<td> 1 </td>
</tr>
<tr>
.
.
.
</table>
[/PHP]

Und dann kannst du jeweils den anfang einer Zeile, den anfang und das ende der enthaltenen spalten, das ende der Zeile usw. abfragen.

  • 2 Wochen später...

Ok hab das Problem bereits andersweitig gelöst

Vielen Dank trotzdem

Hm, da hast du aber das Pferd von hinten aufgezäumt... mach doch einfach'n Webquery, dann musst du nicht per 100-Zeilen-Makro den html-Code übersetzen.

Gordonski

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.