Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1288to1292
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

Makroprobleme...

Makroprobleme...
03.12.2012 10:46:41
Steffi
Hallo,
mit Office 2003 bin ich gerade dabei ein kleines Makro zu basteln.
Folgendes soll passieren:
Jeweils ein bestimmter Teil der Werte werden von Tabellenblatt 1 in weitere Tabellenblätter kopiert. (nur das kopieren funktioniert)
Dabei soll Excel, wenn schon Werte im Zielblatt sind, die neuen Werte nicht darüberschreiben, sondern danebenschreiben.
Hierbei mühe ich mich noch etwas ab und habe noch keine richtige Idee.
Am Schluss sollen alle "Eingabedaten" aus Tabelle 1 in ein neues Tabellenblatt kopiert werden, dieses mit dem Datum, entnommen aus Tabelle 1 benannt werden, und anschließend die Eingabedaten gelöscht werden.
Der Code für das neue Tabellenblatt und den Namen des Blattes anpassen ist folgender:

Sheets.Add
Datum = Cells(9, 2).Value 'Wert holen
Datum = String(10, "*") 'Name kürzen
Sheets ("Tabelle*" .Name = Datum) 'neu angelegte Tabelle nehmen
' ActiveSheet.Name = Range("A4") 'frühere Versuche
' ActiveSheet.Name = "Datum" 'frühere Versuche

So, die Daten löschen habe ich bereits versucht, aber er markiert nur den zu löschenden Bereich, _ und die Inhalte bleiben stehen.

If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
Range("A1:I1000").Select 'Gibt es hier auch einen Wert der für alles steht?
Application.CutCopyMode = False
Selection.ClearContents
End If

Über Antworten würde ich mich freuen. :-)
Grüße,
Steffi

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

Betreff
Datum
Anwender
Anzeige
AW: Makroprobleme...
03.12.2012 11:01:04
Rudi
Hallo,
Sheets.Add
Datum = Cells(9, 2).Value 'Wert holen

Cells(9,2) ist in einem neuen Blatt doch leer! Ergo ist Datum auch leer
Datum = String(10, "*") 'Name kürzen
Damit erzeugst du den String "**********", gekürzt wird nichts.
Range("A1:I1000").Select 'Gibt es hier auch einen Wert der für alles steht?
Application.CutCopyMode = False
Selection.ClearContents

Cells.ClearContents
Gruß
Rudi

AW: Makroprobleme...
03.12.2012 11:49:38
Steffi
Hallo Rudi,
cells.clearcontents funktioniert prima, vielen Dank!
Das mit dem Datum habe ich jetzt auch, bin auf die Left Funktion gestossen und erledige es jetzt damit. String war wohl der falsche Ansatz.
Mit welcher Funktion kann ich prüfen ob ein Tabellenblat mit dem Namen bereits existiert?
Meine erste Idee wäre

Sheets.Name
Aber das scheint es wohl nicht zu geben.

Anzeige
AW: Makroprobleme...
03.12.2012 11:59:14
Rudi
Hallo,
Function SheetExists(strName As String) As Boolean
Dim wks As Worksheet
On Error Resume Next
Set wks = Sheets(strName)
On Error GoTo 0
SheetExists = Not wks Is Nothing
End Function
Sub yyy()
Dim strName As String
strName = "Tabelle1"
If SheetExists(strName) Then
MsgBox "schon da!"
Else
MsgBox "OK"
End If
End Sub
Gruß

Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige