Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1596to1600
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

Nach dem senden Tabelle mit bestimmten Änderungen

Nach dem senden Tabelle mit bestimmten Änderungen
09.12.2017 16:39:23
Michael
als neue Datei speichern.
Ich bin absoluter Neuling was VBA angeht.
Ich stelle es mir folgendermaßen vor:
Die vorliegende Datei besteht aus zwei Worksheets. In das erste werden Daten zu Wochentagen eingetragen und im zweiten Sheet zusammengeführt und ausgewertet und mit dem letzten Jahr verglichen.
Meine Idee ist nun nach dem ausführen eines einfachen Senden-Makros, soll die Datei in einem _
neuen Ordner gespeichert werden.

Sub ExcelDateiSenden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
AWS = ThisWorkbook.FullName
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "abc@email.com"
.cc = "def@email.com"
.Subject = "Statistik TXL"
.attachments.Add AWS
.Body = "Guten Morgen," & vbCrLf & "angehängt ist die Datei der vergangenen Woche" & vbCrLf & "" _
_
_
& vbCrLf & "Beste Grüße"
.Send
End With
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Die neue Datei soll folgende Voraussetzungen erfüllen. Sheet 1 eins zu eins kopieren, den Inhalt bestimmter Zellen leeren und das Datum +1 Jahr setzen.
Beim zweiten Sheet wird es komplizierter. Erstmal wie Sheet 1, aber nun soll der Inhalt aus vier Zellen in vier andere eingetragen werden. In vielen Zellen befinden sich Formeln, die unbedingt so bleiben müssen.
Und das ist wohl am einfachsten zu machen, in einer Zelle aus 2018 2019 machen.
Wenn das zuviel ist, dann sagt mir was machbar wäre. Ich kann die Datei auch gern zu Ansicht zur Verfügung stellen.
Vielen Dank im Voraus
Micha

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach dem senden Tabelle mit bestimmten Änderungen
10.12.2017 13:04:31
fcs
Hallo Micha,
hier mal das Grundgerüst für das Speichern der Datei und die Aktionen für die Zellen.
Im Blatt 2 ist noch nicht klar wie kopiert werden muss (Zellen mit Formeln kopieren und nur Werte in Zielzellen einfügen?)
Eigentlich kannst du in einer Kopie deiner Datei im 2. Blatt per Makrorecorder die nötigen Aktionen aufzeichnen.
Gruß
Franz
Sub Erstellen_neue_Datei()
Dim wkb As Workbook
Dim wks1 As Worksheet, wks2 As Worksheet
Dim strPfadNeu As Variant
Set wkb = ActiveWorkbook
'neues Verzeichnis wählen/erstellen
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Bitte Ordner für neue Datei auswählen/erstellen"
If .Show = -1 Then
strPfadNeu = .SelectedItems(1) & Application.PathSeparator
Else
Exit Sub
End If
End With
With wkb
'Datei ggf. speichern
If .Saved = False Then .Save
.SaveAs Filename:=strPfadNeu & wkb.Name, FileFormat:=.FileFormat
Set wks1 = .Worksheets(1) 'alternativ Blattname in ANführungszeichen statt Indexnummer
Set wks2 = .Worksheets(2) 'alternativ Blattname in ANführungszeichen statt Indexnummer
With wks1
'Datum anpassen
With .Range("B2")
.Value = DateSerial(Year(.Value) + 1, Month(.Value), Day(.Value))
End With
'Zellen Leeren
.Range("B5:B8").ClearContents
.Range("B11").ClearContents
End With
With wks2
With .Range("B2") 'Jahr um 1 erhöhen
.Value = .Value + 1
End With
With .Range("B4") 'Datum um 1 Jahr anpassen
.Value = DateSerial(Year(.Value) + 1, Month(.Value), Day(.Value))
End With
'Zellen Leeren
.Range("B7:B10").ClearContents
.Range("B13").ClearContents
'Werte nach Vorjahr-Bereich kopieren
.Range("B18:D18").Copy
.Range("B16:D16").PasteSpecial Paste:=xlPasteValues
.Range("F18").Copy
.Range("F16").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige