Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speicherproblem und Auswahlproblem

Speicherproblem und Auswahlproblem
15.12.2005 16:18:06
Jessica
Hallo Leute
hab ein Problem mein Aktuelles Tabellenblatt in eine neue Datei zu speichern und werte aus der neuen auszulesen
Hier ist mein Code um mein Problem besser zu verstehen

Sub Speichern_BeiKlick()
On Error GoTo ErrorHandler
Dim WBName As String, strHelp As String, strAntwort As String
Dim zelle As Range
Dim r As Range
Dim i As Integer
Dim l As Long
WBName = Range("B5")
If WBName = "" Then
MsgBox "Sie haben keinen Dateinamen angeben!", , "Fehlermeldung"
Exit Sub
End If
ActiveSheet.Copy
Application.CutCopyMode = False
If Range("A1") = "Hilfsvariable zum Speichern" Then
End If
Range("B6").Select
'   Speichern unter
strHelp = ActiveWorkbook.Name
ActiveWorkbook.SaveAs WBName
strHelp = ActiveWorkbook.Name
Windows("Bewertungsübersicht.xls").Activate
Set r = ActiveSheet.Columns("B:B")
For Each zelle In r
For i = 1 To Range("A65536").End(xlUp).Offset(1, 0)
If Range("B" & i) = WBName Then
Range("A" & i).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R1C2"
Else
Range("A65536").End(xlUp).Offset(1, 0).FormulaR1C1 = _
"='[Bewertung Anlagevermögen.xls]Herstellungskosten'!R1C2"
End If
Next
Next zelle
Workbooks(strHelp).Close
Fehler_Ende:
Exit Sub
ErrorHandler:
Dim Antwort As String
If Err.Number = 1004 Then
MsgBox "Bitte gene Sie einen anderen Dateinamen an", , "Fehlermeldung"
Application.DisplayAlerts = False
Workbooks(strHelp).Close
Application.DisplayAlerts = True
Range("B5").Select
Else
MsgBox "Es ist ein Fehler aufgetreten. Der Vorgang wird beendet." _
& Chr(10) & "Bitte Versuchen Sie es nochmal!", , "Fehlermeldung"
End If
Resume Fehler_Ende
End Sub

1. Problem
Falls die Datei schon existieren sollte, bringt Excel ja die Meldung ob die Datei überschrieben werden soll oder nicht.
Wenn ich ja Klicke funktionierts.
Drück ich nein oderabbrechen bringt er mir einen Laufzeitfehler (1004, SaveAs für Objekt _ Workbook ist fehlgeschlagen.
Ich hab schon eine Fehlerroutine geschrieben, aber wie kann ich unterscheiden ob der Fehler vom "abbrechen" oder von "nein" ausgelöst wurde.
2. Problem
Ich habe eine For Each ... Next Schleife in der ich prüfen möchte ob der Wert von WBName vorhanden ist, wenn er vorhanden ist soll die Wert überschrieben werden. Ist der Wert nixht vorhanden soll geschaut werden ob freie Zeilen vorhanden sind, wenn ja sollen die Werte in diese Zeile eingetragen werden.
Wenn nicht von dem vorhergehenden zutrifft soll der Wert in die letzte Zelle geschrieben werden.
3. Problem
Wo "Bewertung Anlagevermögen" in der For ... Next Schleife steht müsste der Dateiname von der neuen Datei stehen (WBName oder strHelp).
Wie muss ich das richtig schreiben damit er das richtig macht.
Tausend dank schon mal im voraus
ist wirklich wichtig das ich das zum laufen bring
Jessica

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicherproblem und Auswahlproblem
16.12.2005 11:25:57
Eugen
hi jessica
hab deinen makro mal bisschen umgeschrieben.
hab noch probleme mit deinem 2. Problem

Sub Speichern_BeiKlick()
Dim WBName As String, strHelp As String, strAntwort As String
Dim zelle As Range
Dim r As Range
Dim i As Integer
Dim l As Long
WBName = InputBox("Bitte einen Dateinamen eingeben")
If WBName = "" Then
MsgBox "Sie haben keinen Dateinamen angeben!", , "Fehlermeldung"
Exit Sub
End If
ActiveSheet.Copy
Application.CutCopyMode = False
Range("B6").Select
'   Speichern unter
strHelp = ActiveWorkbook.Name
' lästige meldung abschalten
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs WBName
strHelp = ActiveWorkbook.Name
Application.DisplayAlerts = True
Windows("Bewertungsübersicht.xls").Activate
Set r = ActiveSheet.Columns("B:B")
' 2. problem
' hab ich noch nicht verstanden
' suche in spalte 2 von bewertungsübesicht nach wbname ?
' wenn gefunden, eintrag der formel in spalte 1 ?
' wenn nicht, eintrag der formel in spalte 1  in leere zelle ?
' kein eintrag von wbname oder strhelp    ?
' das  alles in bewertungsübersicht ?
For Each zelle In r
For i = 1 To Range("A65536").End(xlUp).Offset(1, 0)
If Range("B" & i) = WBName Then
Range("A" & i).FormulaR1C1 = _
"='[" + strHelp + "]Herstellungskosten'!R1C2"
Else
Range("A65536").End(xlUp).Offset(1, 0).FormulaR1C1 = _
"='" + strHelp + "]Herstellungskosten'!R1C2"
End If
Next
Next zelle
Workbooks(strHelp).Close
End Sub

mfg
Anzeige
AW: Speicherproblem und Auswahlproblem
19.12.2005 10:16:44
Jessica
Hallo
Sorry das ich mich erst jetzt melde
Aufbau der Datei Bewertungsübersicht
1. Spalte: Ergebnis aus Datei Bewertung Anlagevermögen besser aber das Ergebnis aus
der neu angelegten Datei (weiß aber nicht wie ich die Variable dort angeben muss)
2. Dateiname der neu angelegten Datei
In der 2. Spalt der Arbeitsmappe Bewertungsübersicht soll nach geschaut werden ob der Eintrag der Variablen WBName vorhanden ist. ISt nur der Fall wenn eine Datei mit dem Namen Bereits existiert oder existiert hat. Tritt dieser Fall ein soll kein neuer Datensatz / Zeile hintenangefügt werden sondern der gefundene überschrieben werden.
Wird keine übereinstimmung gefunden aber eine leere Zeile, z.B. weil Benutzer einen Datensatz gelöscht hat, soll der neue Datensatz in diese Zeile eingetragen werden.
Trifft nichts von oben zu, soll eine neue Zeile nach der letzten beschriebenen Zeile angelegt werden.
Ob bei der Schleife überhaupt was nützlichess bei ist weiß ich nicht.
Ich wollt aber gerne die Abfrage ob die Datei bereits vorhanden ist drinne lassen wenns möglich ist.
Danke für deine hilfe
Jessica
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige