Hi Leute,
ich leg einfach mal mit meinem Problem los :D
also:
ich hab ne riesige tabelle mit verschiedenen angaben:
vorhabensnummer titel seitenzahlen autoren usw...
vorher hatte ich folgenden code der mir das ganze in eine worddatei extrahiert
wobei ich als bedingung angeben konnte welche vorhabensnummern ich haben möchte
nun brauche ich das auch so dass ich den autor angeben kann und es sucht mir alle zeilen raus worin der autor vorkommt
das problem: es können mehrere autoren an einem titel beteiligt gewesen sein, und werden in einzelne zellen ab O eingetragen.
Private Sub word_vorhaben_Click()
Dim rngCol As Range
Dim rngRow As Range
Dim objWord As Object
Dim objDoc As Object
Dim strText As String
Dim dateiname As String
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add
eingabe = InputBox("Erwünschte Vorhabensnummer eingeben.", "Vorhabensnummer")
zeichen = Len(eingabe)
summe = 0
With ThisWorkbook.Sheets(1)
'für jede Zeile ab A4 wird ein Eintrag in diese Datei geschrieben
For Each rngCol In .Range(.Cells(4, 1), .Cells(.Rows.Count, 1).End(xlUp))
'wenn Spalte A die Voraussetzung erfüllt
If Left(rngCol.Text, zeichen) = eingabe Then
'für jede nichtleere Zelle wird ein Eintrag hinzugefügt
For Each rngRow In .Range(rngCol, .Cells(rngCol.Row, .Columns.Count).End(xlToLeft))
If rngRow <> "" Then _
strText = strText & IIf(strText = "", "", ", ") & rngRow
Next rngRow
objWord.Selection.TypeText Text:=strText
objWord.Selection.TypeParagraph
strText = ""
End If
Next rngCol
End With
'Eingabe des gewünschten Dateinamen
dateiname = InputBox("Dateiname eingeben.", "Doc-Datei")
'als docx-Datei speichern
objDoc.SaveAs Filename:=ThisWorkbook.Path & "\" & dateiname & ".docx", FileFormat:=12
objDoc.Close False
objWord.Quit
End Sub
nun soll also nicht nach vorhabensnummer aus spalte A kontrolliert werden,
sondern ob ein eingetippter name in einer der Spalten O bis xlEnde vorkommt .
Also würde jede Eintragung, an der der gesuchte Autor beteiligt war in die Worddatei extrahiert werden.
Danke schonmal im voraus :) und viel Spaß beim Code basteln.
|