Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Festwerte umwandel Fehlermeldun bei Codeausführung

Festwerte umwandel Fehlermeldun bei Codeausführung
11.06.2006 16:04:35
Torge
Hallo,
wer kann mir einen Hinweis geben, wie ich folgendes Problem der Fehleranzeige ändern kann?
Habe folgenden Code:
Aus einer Arbeitsmappe wird ein Tabellenblatt in eine neue Mappe kopiert (in der Arbeitsmappe sind Blätter sichtbar bzw. ausgeblendet), mittels Button sollen dann alle Formeln in Festwerte umgewandelt werden. Da in dem zu kopierenden Tabellenblatt noch anderer Code steht, erhalte ich immer eine Fehlermeldung beim umwandeln in Festwerte. Könnte dies mit den Aus- bzw. sichtbaren Tabellen zusammenhängen, wenn ja, wie kann ich dies umgehen oder verhindern. Vielleicht Code in Module packen oder Code löschen lassen vor dem Umwandlen, den Code für das Umwandeln in ein Modul packen, komme hier nicht weiter. Vielen Dank schon mal für die Hilfe oder Hinweise.
Code hier:
Option Explicit
'Kopiert Tabelle in neue Mappe

Private Sub CommandButton7_Click()
Dim bytMsg As Byte
Dim outObj As Object
Dim Mail As Object
Dim i As Integer
Sheets("Fin.-Anfrage").Copy
With ActiveSheet.Range("C2:BJ277")
.Copy
End With
Application.CutCopyMode = False
bytMsg = MsgBox("Datei wurde in neue Mappe kopiert." & vbLf & _
"Bitte den Button Umwandeln" & vbLf & _
"in Festwerte anklicken?", vbYesNo)
End Sub

'in Festwerte umwandeln

Private Sub CommandButton8_Click()
Range("C2:BJ277") = Range("C2:BJ277").Value
End Sub

'Code für einblenden der ausgeblendeten Blätter in der Originaldatei

Private Sub Worksheet_Change(ByVal Target As Range)
hide Target
End Sub

Sub hide(c As Range)
If Not ActiveSheet.Name = "Fin.-Anfrage" Then Exit Sub
If Intersect(c, Range("D12")) Is Nothing Then Exit Sub
Select Case Range("D12")
Case 0
'auf die Anweisung erhalte ich immer die Fehlermeldung
Sheets("Passwort (2)").Visible = True
Sheets("Fin.-Anfrage").Visible = True
Sheets("Dateneingabe").Visible = False
Case "C"
Sheets("Passwort (2)").Visible = True
Sheets("Fin.-Anfrage").Visible = True
Sheets("Dateneingabe").Visible = True
End Select
End Sub
Gruß Torge

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Festwerte umwandel Fehlermeldun bei Codeausführung
11.06.2006 16:42:50
Jürgen
Hallo Torge,
ich weiß nicht, ob ich dir helfen kann, aber ich denke mal die Profis gucken Fussball so versuche ich es einmal.
Select Case Range("D12")
Case 0
Ich denke, dass die Select Case Methode so nicht funktioniert. Ersetze mal Case 0 gegen Case is = 0 und weiter unten im Code
Case is = "C"
Ich hoffe ich konnte helfen, Gruß Jürgen
Festwerte umwandel Fehlermeldun bei Codeausführung
11.06.2006 17:39:28
Torge
Hallo Jürgen,
vielen Dank für die Mühe.
Folgendes, die "Select Case Range("D12")
Case 0" Methode bezieht sich doch auf das Einblenden von Tabellenblätter. Die Fehlermeldung erhalte ich jeweils, wenn ich die in dem Tabellenblatt vorhandenen Formeln in Festwerte umwandel möchte. Dieses eine Tabellenblatt ist Bestandteil einer Arbeitsmappe und wird zunächst per Mail mit anderen ausgeblendeten Blättern versendet über eine Button. Der Empfänger kann dann mit der "(Select Case Range("D12")
Case "C")" Anweisung alle ausgeblendeten Tabellenblätter einblenden lassen. Nun wird mittels eines anderen Button nur dieses eine Tabellenblatt versendet ohne die ausgeblendeten (Es läuft also eine andere Routine). Ich denke das Problem ist, das die Routine im Code nach dem Umwandeln in Festwerte versucht auf die "S(elect Case Range("D12")
Case 0") - Anweisung zuzugreifen. Da diese aber nun nicht mit dem Ein- oder Ausblenden zu tun hat (das Blatt wurde ja nur als einziges Blatt versendet), bringt er mir hier eine Fehlermeldung.
Hoffe ich hab mich etwas verständlich erklärt. Ich probiere Deinen Vorschlag aber gleich mal aus und mal sehen, könte ja auch daran liegen.
Dank Dir erst Mal an dieser Stelle.
Gruß Torge
Anzeige
AW: Festwerte umwandel Fehlermeldun bei Codeausfüh
11.06.2006 18:05:13
fcs
Hallo Torge,
das Problem liegt wahrscheinlich bei der Nummerierung der Commandbuttons.
Wenn das Blatt "Fin-Anfrage" in eine neue Datei kopiert wird, dann werden die im Blatt enthaltenen Buttons beginnend bei 1 mit Commandbutton1 usw. neu durchnummeriert. (Do'nt ask me why, ask Bill)
Dadurch wird das makro

Private Sub CommandButton8_Click()
Range("C2:BJ277") = Range("C2:BJ277").Value
End Sub

in der kopierten Tabelle nicht mehr gestartet, denn den Button mit der Nummer 8 gibt es nicht mehr.
Abhilfe: Benenne in der Tabelle "Fin-Anfrage" in der Ausgangsdatei die Buttons so um, dass die Nummerierung bei 1 beginnt, passe die Nummer(n) im Click-Makro entsprechend an.
Dann sollte auch nach dem kopieren der Tabelle das Makro starten.
Falls EXCEL versucht, das Makro

Private Sub Worksheet_Change(ByVal Target As Range)
hide Target
End Sub

in der kopierten tabelle auszuführen, dann kommt es in der Sub Hide natürlich zu einem Fehler, da nicht mehr alle Blätter vorhanden sind, die in dieser Sub angesprochen weden.
Abhilfe eine zusätzliche Zeile
On Error Resume Next
in der sub hide
oder besser: in der Arbeitsmappe mit der kopierten Tabelle alle nicht benötigten Subs löschen.
Gruß
Franz
Anzeige
Festwerte umwandel Fehlermeldun bei Codeausfüh
11.06.2006 18:20:17
Torge
Hallo Franz,
super Dank für Deine Hinweise. Problem, das Makro

Private Sub CommandButton8_Click()
Range("C2:BJ277") = Range("C2:BJ277").Value
End Sub

funktioniert, es wandelt die Formeln in Festwert um. Aber gleich dannach kommt die Fehlermeldung, dass er vermutlich das erste Blatt, wie im Code hier
Sub hide(c As Range)
If Not ActiveSheet.Name = "Fin.-Anfrage" Then Exit Sub
If Intersect(c, Range("D12")) Is Nothing Then Exit Sub
Select Case Range("D12")
Case 0
Sheets("Passwort (2)").Visible = True
versucht zuzugreifen. Und da wird der Fehler liegen.
Aber ich versuchs Mal mit Deinem Vorschlag gleich.
Wenn es nicht funktioniert, melde ich mich gleich wieder.
Frage; "in der Arbeitsmappe mit der kopierten Tabelle alle nicht benötigten Subs löschen.", wie mach ich das? Das Blatt ist ja in diesem Fall nicht mehr in der Arbeitsmappe, sondern in einer neuen. Muss das dann über eine neue Anweisung laufen?
Hoffe, ich hab mich nicht doppelt erklärt :-).
Vielen herzlichen Dank erstmal.
Gruß Torge
Anzeige
AW: Festwerte umwandel Fehlermeldun bei Codeausfüh
11.06.2006 20:40:12
Erich
Hallo Torge,
brauchst du denn in der neuen Mappe mit dem einen Blatt überhaupt
Buttons, Makros und Formeln aus der Quelltabelle?
Oder würde es aureichen, wenn du eine neue Mappe mit einem leeren Blatt anlegst und
dann die benötigten Werte und Formate mit Copy und PasteSpecial aus dem Quellblatt
in das leere Blatt kopierst? Dann hast du keinen Ärger mehr mit Ereignismakros und
der Neu-Nummerierung der Buttons.
Mit

With ActiveSheet.Range("C2:BJ277")
.Copy
End With
Application.CutCopyMode = False
hast du so etwas ja schon begonnen.
Aber mit dem Code kopierst du jetzt nue einen Bereich in die Zwischenablage.
Wird er dort gebraucht?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Festwerte umwandel Fehlermeldun bei Codeausfüh
12.06.2006 09:35:57
Torge
Hallo Erich,
vielen Dank für Deinen Hinweis. Wenn ich das so recht überlege, die Button brauch ich in der neuen Mappe nicht. Die Formeln müssen aber in der neuen Mappe in Festwerte umgewandelt werden, damit es für den einfachen User nicht so kompliziert ist, da überwiegend nicht ich selbst mit der Datei arbeite. Also sollten in der neuen Mappe auch zumindest ein Button sein, mit dem dieses eine Blatt per Mail versendet werden kann. Da brauch dann aber sichern außer dem Code für das Umwandeln in Festwerte und eben für senden per Mail kein weitere Code vorhanden sein. Bei ist es doch zur Zeit so, dass ich das Blatt per Button in eine neue Mappe kopiere. In dieser neuen Mappe müssen dann aus den Formeln Festwerte gemacht werden, damit die Verknüpfungen weg sind. Und nun per Mail über eine Button versenden. Das alles in einem Schritt zu machen stellt sicher ein Problem dar. Das Kopieren wie gesagt funktioniert. Wenn das Blatt nun in der neuen Mappe ist müsste über ein Button die Routine der Umwandeln ablaufen und dann das versenden.
Der Vorschlag von Franz kommt da schon nahe, die Reihenfolge der Button zu ändern, dass schein auch zu funktionieren. Ich versuche das Heute noch weiter zu verfolgen und anzupassen, hoffe ich bekomme es hin, sonst melde ich mich noch einmal.
Gruß Torge
Anzeige
AW: Festwerte umwandel Fehlermeldun bei Codeausfüh
12.06.2006 10:52:32
fcs
Hallo Torge,
mit folgender Anpassung sollte das Makro, dass das Tabellenblatt kopiert auch die Formeln durch Werte ersetzen.

Private Sub CommandButton7_Click()
Dim bytMsg As Byte
Dim outObj As Object
Dim Mail As Object
Dim wbKopie As Workbook
Dim i As Integer
Sheets("Fin.-Anfrage").Copy
With ActiveSheet.Range("C2:BJ277")
.Copy
End With
Application.CutCopyMode = False
Set wbKopie = ActiveWorkbook
With wbKopie.Sheets("Fin.-Anfrage")
.Range("C2:BJ277") = .Range("C2:BJ277").Value
End With
bytMsg = MsgBox("Datei wurde in neue Mappe kopiert." & vbLf & _
"Bitte den Button Umwandeln" & vbLf & _
"in Festwerte anklicken?", vbYesNo)
End Sub

mfg
Franz
Anzeige
AW: Festwerte umwandel Fehlermeldun bei Codeausfüh
12.06.2006 12:13:22
Torge
Hallo Franz,
vielen Dank, funktioniert super. Eine letzte Frage noch:
Den Code zum versenden der Datei per Mail kann ich doch dann einfach hinter Deinen hängen? Dachte so, dass nach dem Betätigen des Button von Dir mit ja und damit der erfolgten Umwandlung der Formeln in Festwerte, könnte doch gleich noch ein Button aufgerufen werden, welcher dann die Datei als Anhang per Mail versendet. Das versenden per Mail habe ich aber das mit den Button der dann noch einmal kommen könnte noch nicht. Kannst Du mir hier noch mal helfen?
Vielen, vielen Dank für Deine Hilfe bis hierher.
Viele Grüße Torge
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige