# [EXCEL XP]  datei speichern durch klick auf button in der tabelle - aber wie ?



## micha (13. Mai 2003)

Hallo liebe VBA - Fraktion,

ich möchte durch einen Klick auf einen Button die geöffnete, den Button beinhaltende Datei speichern.
Weil das ganze bisher zu einfach ist, möchte ich, dass der Dateiname sich aus den Inhalten zweier Zellen zusammensetzt. 

im Grunde möchte ich das hier machen:

Formular wird ausgefüllt
Speichern Knopf wird gedrückt (Wurde als Objekt im Design Modus eingefügt).
Aus den Zellen B13 und B12 werden die Inhalte ausgelesen und zu dem Dateinamen InhaltB13_InhaltB12.xls zusammengesetzt.

Dadurch würde mir das lästige Speichern Unter, neuer Dateiname etc erspart.


Leider werde ich aus der Hilfedatei nicht schlau und so bin ich gezwungen hier zu posten.

Alle die mir helfen wollen, sollten wissen, dass ich bereits PHP programmiere. Ich verstehe also Programmierfachjargon, jedoch wenn es um VBA geht, habe ich nicht so den Durchblick.


Ich danke schonmal allen, die mir helfen wollen.


----------



## Dario Linsky (13. Mai 2003)

Zeig doch mal bitte den Code, den Du bisher schon hast oder beschreib näher, an welcher Stelle Du nicht weiterkommst.


----------



## micha (14. Mai 2003)

Das Problem ist, dass ich den ganzen Kram in der Firma machen muss. Und dort habe ich keinen Internetzugang. Die Dateien darf ich nicht mit raus nehmen, weil die Testergebnisse etc. streng geheim sind 


Ich habe mir den Code größtenteils aus den Beispieldateien zusammenkopiert. Aber im Grunde muss ich nur 2 - 3 Befehle wissen:

1) Wie ich den Inhalt einer Zelle in einer Variable abspeichere,
2) Wie ich die beiden Variablen zur einer Vereinige
3) Wie ich bei der worksheet.SaveAs funktion beim Dateinamen eine Variable einfügen kann.

Im Grunde müsste etwa sowas bei rauskommen (das ist jetzt ein codemischmasch Kauderwelsch, nicht erschrecken)

```
OnSub Speichern_Click()
Variable1 = datafromcell(12,b) 
Variable2 = datafromcell(13,b)
activeworksheet.saveas filename = "'variable1'_'variable2'.xls"
End Sub
```


----------



## Dario Linsky (14. Mai 2003)

1. Auslesen der Variablen kannst Du einfach über die Cells-Eigenschaft. Das einzige, was Du dabei beachten musst, ist dass Du nicht direkt mit den gewohnten Zelladressen arbeiten kannst, sondern nur mit den Indizes für Zeile und Spalte.

2. Die Variablen kannst Du einfach mit ganz normalen Stringverknüpfungen Operator &) miteinander verbinden.

3. Einfach die Variable an die Funktion übergeben.

Insgesamt sieht das dann beispielsweise so aus:

```
'Variablen deklarieren
Dim var1 As String
Dim var2 As String
'Werte aus den Zellen auslesen
var1 = Tabelle1.Cells(1, 1)
var2 = Tabelle1.Cells(1, 2)
'Arbeitsmappe unter dem zusammengesetzten Dateinamen speichern
ThisWorkbook.SaveAs var1 & "_" & var2 & ".xls"
```


----------

