Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1192to1196
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

Alle Html-Tabellen eines Ordners auslesen

Alle Html-Tabellen eines Ordners auslesen
Knut
Liebe Experten,
ich stehe vor einem mittelgroßen VBA-Problem.
Ich muss aus einem Ordner eine größere Anzahl Dateien (Tischrechnungen Gastro) auslesen und bestimmte Zellwerte in das aktive Tabellenblatt kopieren.
Bei den Dateien handelt es sich um html-Dateien, die von Excel anstandslos als Tabelle geöffnet werden.
Die Dateien haben dabei folgende Nomenklatur. „ …..Rechnung_NR_4.html …… Rechnung_NR_44.html…..
Nun brauche ich aus jeder Datei (Tischrechnung) ein paar Zellwerte (Beleg-Nr,Datum, Schicht..) , die immer an der gleichen Position sind ( B6, G7,etc) sowie den Gesamtbetrag, der mit der Anzahl der verzehrten Speisen natürlich tiefer rutscht (also mal E7, mal E10), allerdings immer von der Nachbarzelle: „BETRAG:“ begleitet wird.
Kann man sich mit einem smarten Skript diese gewünschten Daten in ein Tabellenblatt kopieren?
Wäre Euch für Hilfe bzw. Tipps dankbar.
Gruß KNUT

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Interessant, aber Crossposting o.T.
30.12.2010 22:44:20
Gerd
Gerd
AW: Interessant, aber Crossposting o.T.
31.12.2010 06:38:42
Knut
Sorry, aber ich muss doch erstmal rausfinden, in welchem dieser beider marktführenden Foren ich besser aufgehoben bin.
Aber wenn das gegen die Etikette ist, kommt das natürlich nicht wieder vor.
Gruß KNUT
Gruß KNUT
AW: Beispiele
31.12.2010 09:59:27
Josef

Hallo Knut,
probier mal diesen Code.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub getnvoiceData()
  Dim strPath As String, strFile As String
  Dim lngRow As Long, lngIndex As Long, lngCalc As Long
  Dim vntText As Variant, vntRet As Variant
  Dim objWB As Workbook
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
  End With
  
  strPath = "E:\Forum" 'Verzeichnis - Anpassen!
  
  strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
  
  vntText = Array("Datum:", "Uhrzeit:", "Belegnummer:", "Bedienung:", "Nettobetrag:", "Betrag MwSt. 7,00%", "Betrag MwSt. 19,00%", "BETRAG EUR:")
  
  With ThisWorkbook.Sheets("Tabelle1")
    lngRow = Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row + 1)
    strFile = Dir(strPath & "Rechnung_NR_*.html", vbNormal)
    Do While strFile <> ""
      Set objWB = Workbooks.Open(strPath & strFile)
      .Cells(lngRow, 1) = strFile
      For lngIndex = 0 To UBound(vntText)
        vntRet = Application.Match(vntText(lngIndex), objWB.Sheets(1).Columns(1), 0)
        If IsNumeric(vntRet) Then
          .Cells(lngRow, lngIndex + 2) = objWB.Sheets(1).Cells(vntRet, 2)
        End If
      Next
      objWB.Close False
      lngRow = lngRow + 1
      strFile = Dir
    Loop
  End With
  
  ErrExit:
  If Err.Number > 0 Then MsgBox "Fehler:" & vbTab & Err.Number & vbLf & vbLf & Err.Description, vbExclamation, "Fehler"
  Err.Clear
  
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
  End With
  
  Set objWB = Nothing
End Sub

Gruß Sepp

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige