Thema Datum  Von Nutzer Rating
Antwort
Rot Bestimmte Zeilen aus geschlossener Datei auslesen
28.06.2021 10:54:30 Gast43650
NotSolved
28.06.2021 11:27:29 Gast22379
NotSolved
28.06.2021 11:33:31 Gast43650
NotSolved
29.06.2021 09:38:09 Gast44385
NotSolved
29.06.2021 09:55:55 Gast43650
Solved

Ansicht des Beitrags:
Von:
Gast43650
Datum:
28.06.2021 10:54:30
Views:
81
Rating: Antwort:
  Ja
Thema:
Bestimmte Zeilen aus geschlossener Datei auslesen

Hallo allerseits,

ich habe es bereits an anderer Stelle versucht, bislang konnte mir aber noch keiner helfen. Ich bin noch blutiger Anfänger was VBA anbelangt, und hoffe daher auf eure Hilfe.
Ich habe ein Makro, mit dem ich eine Tabelle aus einer geschlossenen Datei auslesen kann. Jetzt wollte ich das Makro dahingehend erweitern, dass man in eine Zelle eine Zahl eingibt nach der gesucht werden soll. Die gesuchte Zahl sollte sich in der geschlossenen Datei in Spalte E befinden. Es sollen dann nur die Zeile/n ausgegeben werden, die die gesuchte Zahl in Spalte E haben.

Makro lade ich hier hoch.
Ich habe versucht den Suchbegriff zu finden
Set bereich = Range("B9:F32").Find("suchbegriff"), bekomme dann aber einen Fehler bei der Schleife "For each cell in bereich" 

Ich hoffe mir kann jemand helfen, ich weiß nicht was ich noch probieren kann. Vielen Dank im Voraus.
LG

 

Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, bereich As Range, cell As Object

suchbegriff = ThisWorkbook.Sheets("Auslesen").Cells(4, 4).Value

'** Pop-Up wenn kein Kennzeichen eingegeben wurde
If suchbegriff = "" Then
    answer = MsgBox("Es wurde kein Kennzeichen eingegeben." & vbNewLine & "Möchten Sie trotzdem suchen?", vbQuestion + vbYesNo + vbDefaultButton2, "Suche")
    If answer = vbNo Then
        End
    End If
End If

'** Angaben zum auszulesenden Bereich
pfad = "C:\NeuerOrdner"
datei = "Report.xlsx"
blatt = "ExportReport"
Set bereich = Range("B9:F32")

'** Bereich auslesen
For Each cell In bereich
  
  '** Zellen umwandeln
  cell = cell.Address(False, False)
  
  '** Eintragen in Bereich
  ActiveSheet.Cells(cell.Row, cell.Column).Value = GetValue(pfad, datei, blatt, cell)
Next cell

End Sub

Private Function GetValue(pfad, datei, blatt, cell)
'** Daten aus geschlossener Arbeitsmappe auslesen

'*** Dimensionierung der Variablen
Dim arg As String

'Sicherstellen, dass die Datei vorhanden ist
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "Datei nicht gefunden"
Exit Function
End If

'** Das Argument erstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(cell).Range("A1").Address(, , xlR1C1)

'** Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)

End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Bestimmte Zeilen aus geschlossener Datei auslesen
28.06.2021 10:54:30 Gast43650
NotSolved
28.06.2021 11:27:29 Gast22379
NotSolved
28.06.2021 11:33:31 Gast43650
NotSolved
29.06.2021 09:38:09 Gast44385
NotSolved
29.06.2021 09:55:55 Gast43650
Solved