Hallo Mumpf,
ich nehme mal an, dass es dir um VBA geht. Du benötigst dabei nur zwei Grundkenntnisse, die du eigentlich im ersten Kapitel eines jeden Grundlagenbuchs, bzw. einer ersten Lektion in einem Grundlagenseminar lernen solltest:
1. Der Zugriff auf ZellinhalteAuf Zellinhalte greifst du über die .Value-Eigenschaft oder die .Text-Eigenschaft eines Rangeobjektes zu. Solang das Range-Objekt aus einer einzelnen Zelle besteht, wird der Inhalt automatisch als Einzelwert zurückgegeben. Ein Rangeobjekt kannst du entweder über die Zelladresse ansprechen um sie mit .Range() zu ermitteln, oder auf der .Cells()-Auflistung durch angabe von Zeilen- und Spaltennummer. Steht in der Zelle ein Text, sind .Value- und .Text-Eigenschaft identisch. Bei formatierten Zahlen, gibt dir .Text den angezeigten Zellinhalt zurück und nicht den Inhalt selbst. .Value ist die Standardeigenschaft eines Rangeobjektes, so dass du ohne explizite Angabe von .Value den gleichen wert erhältst:
Code:
Dim txt As String
Dim val As String
txt = Worksheets("Tabelle2").Range("D4").Text
val = Worksheets("Tabelle3").Cells(2,4).Value
2. Das Verketten von Zeichenketten.Zeichenketten in VBA sind vom Typ String. Strings lassen sich dabei über das kaufmännische und & verbinden. Dabei können sowohl String-Literale, Konstanten als auch Variablen mit ihrem Inhalt verbunden werden:
Code:
Debug.Print "Ich" & vbTab &"bin ein " & "zusammengesetzter String, der den Inhalt der Zelle D3 (" & txt & ") widergibt."
3. Speichern als PDF:Zum Speichern als PDF verwendest du am einfachsten die .ExportAsFixedFormat-Methode.
4. Sicherstellen, das ein Pfad existiert:Um sicherzustellen, dass ein Pfad existiert, kannst du entweder API-Funktionen nutzen (da bin ich zu schwach mit bewandert um zu helfen, aber volti wird da sicher auskunft zu geben können), oder du prüfst einfach selbst, ob der Ordner schon da ist. Weil du unterhalb der bestehenden Struktur jeweils nur einen Ordner anlegen musst, kannst du das entweder über ein simples Dir() mit anschließendem MkDir, ein forciertes MKDIR(), bei dem du Fehler einfach unterdrückst oder eleganter, weil reentrant, über das FileSystemObject lösen:
Code:
'A Dir und MkDir
If Dir(Wunschverzeichnis, vbDirectory) ="" Then MkDir(Wunschverzeichnis)
'b forciertes MkDir, Achtung: Fehlergrund wird ignoriert
On Error Resume Next
MkDir(Wunschverzeichnis)
On Error GoTo 0
'c FSO
With CreateObject("Scripting.FileSystemObject")
If Not .folderexists(Wunschverzeichnis) Then
.createfolder Wunschverzeichnis
End If
End With
Ich hoffe, das hilft dir fürs erste!
Viele Grüße
derHöpp