Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Zelleninhalt löschen
19.05.2015 20:56:56
Jochen
Hallo,
ich habe mir ein makro geschrieben was folgendes auslösen soll.
In der Datei report_vorlage werden Daten eingegeben. Diese werden durch das Makro in der Datei report_daten gespeichert.
Jetzt wird die datei report_vorlage unter anderen namen ( report& der wert aus K6)gespeichert.
Der in der Datei report_vorlage vorhandene und dementsprechend mitgespeicherte button wird in der kopie gelöscht und die datei report_vorlage geschlossen.
die datei report& wert aus K6 ist nun zur weiteren Bearbeitung bereit.
Soweit, so gut.
bis hierhin funktioniert auch alles.
Zusätzlich möchte ich das beim schließen der Datei report_vorlage der Wert in k3 um 1 erhöht wird und die Daten in D7:D9 entfernt werden.
Sub daten_speichern_und_kopie_anlegen()
Dim wsKopie As Worksheet, wsBasis As Worksheet, iLetzte As Long
Dim wbKopie As Workbook
Set wsBasis = ActiveSheet
Set wbKopie = Workbooks.Open("C:\Report-Test\Report_daten.xlsx") 'Zieldatei anpassen
Set wsKopie = wbKopie.Sheets("sheet1")    'Tabellennamen der Quelle anpassen
iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
wsKopie.Range("A" & iLetzte) = wsBasis.Range("K3").Value '1.Wert Ziel und 2.Wert Quellzelle  _
_
anpassen
wsKopie.Range("B" & iLetzte) = wsBasis.Range("K6").Value
wsKopie.Range("C" & iLetzte) = wsBasis.Range("D6").Value
wsKopie.Range("D" & iLetzte) = wsBasis.Range("D7").Value
wsKopie.Range("E" & iLetzte) = wsBasis.Range("D8").Value
wsKopie.Range("F" & iLetzte) = wsBasis.Range("D9").Value
wsKopie.Range("G" & iLetzte) = wsBasis.Range("K7").Value
wsKopie.Range("H" & iLetzte) = wsBasis.Range("K8").Value
wsKopie.Range("I" & iLetzte) = wsBasis.Range("L9").Value
wbKopie.Save
wbKopie.Close False
ActiveWorkbook.SaveAs Filename:="C:\Report-Test\Report\" & "8D-Report-" & Range("K3").Value & ". _
_
xls" 'speichern unter
ActiveSheet.Shapes("Button 1").Select
Selection.Delete 'Schaltfläche löschen
ActiveWorkbook.Save 'speichern
End Sub
Vieleicht hat ja jemand von den Experten einen Tip für mich, weil sich meine VBA künste eher auf copy&paste beschränken.
Danke & Gruß,
Jochen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt löschen
20.05.2015 09:48:47
UweD
Hallo

wsBasis.Range("K3").Value = wsBasis.Range("K3").Value + 1
wsBasis.Range("D7:D9").Clearcontents
Gruß UweD

AW: Zelleninhalt löschen
20.05.2015 16:22:05
Jochen
Hallo Uwe,
du hast mir grundsätzlich schon mal etwas weiter geholfen.
Aber:
egal wo ich deinen Code einfüge werden die Zellen in meiner mit save as hergestellten Kopie verändert.
ich denke mal das der Befehl save as auch das schließen der Ursprungsdatei beinhaltet. Google konnte mir da aber auch nicht weiterhelfen.
Wenn das aber so ist müsste man wohl die Ursprungsdatei nochmal öffnen dann deinen code auführen und speicheren und schließen.
dann habe ich aber das Problem das ich die mit save as erstellet Kopie nicht mehr ansprechen kann weil sich der Name ja mit jedem speichern ändert.
Bitte um weiter Hilfe,
Danke Jochen

Anzeige
AW: Zelleninhalt löschen
20.05.2015 16:48:42
Jochen
So, habe es dann doch hinbekommen.
Hier mein code für die es sehen wollen:
Sub daten_speichern_und_kopie_anlegen()
Dim wsKopie As Worksheet, wsBasis As Worksheet, iLetzte As Long
Dim wbKopie As Workbook
Set wsBasis = ActiveSheet
Set wbKopie = Workbooks.Open("C:\Report-Test\Report_daten.xlsx") 'Zieldatei anpassen
Set wsKopie = wbKopie.Sheets("sheet1")    'Tabellennamen der Quelle anpassen
iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
wsKopie.Range("A" & iLetzte) = wsBasis.Range("K3").Value '1.Wert Ziel und 2.Wert Quellzelle  _
anpassen
wsKopie.Range("B" & iLetzte) = wsBasis.Range("K6").Value
wsKopie.Range("C" & iLetzte) = wsBasis.Range("D6").Value
wsKopie.Range("D" & iLetzte) = wsBasis.Range("D7").Value
wsKopie.Range("E" & iLetzte) = wsBasis.Range("D8").Value
wsKopie.Range("F" & iLetzte) = wsBasis.Range("D9").Value
wsKopie.Range("G" & iLetzte) = wsBasis.Range("K7").Value
wsKopie.Range("H" & iLetzte) = wsBasis.Range("K8").Value
wsKopie.Range("I" & iLetzte) = wsBasis.Range("L9").Value
wbKopie.Save
wbKopie.Close False
ActiveWorkbook.SaveAs Filename:="C:\Report-Test\Report\" & "8D-Report-" & Range("K3").Value & ". _
xls" 'speichern unter
Workbooks.Open ("C:\Report-Test\Report_vorlage.xlsm")
Range("K3").Value = Range("K3").Value + 1 'Wert in K3 erhöht sich um 1
Range("D6:F6").ClearContents ' Zelleinhalte werden gelöscht bei verbunden Zellen alle Zelle  _
nangeben
Range("D7:F7").ClearContents
Range("D8:F8").ClearContents
Range("D9:F9").ClearContents
Range("K6:M6").ClearContents
Range("K7:M7").ClearContents
Range("K8:M8").ClearContents
Range("L9:M9").ClearContents
Workbooks("Report_vorlage.xlsm").Save
Workbooks("Report_vorlage.xlsm").Close
ActiveSheet.Shapes("Button 1").Select
Selection.Delete 'Schaltfläche löschen
ActiveWorkbook.Save 'speichern
End Sub

Danke & Gruß,
Jochen
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige