Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
780to784
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
780to784
780to784
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro funktioniert nicht bei Formel in Zelle

Makro funktioniert nicht bei Formel in Zelle
15.07.2006 18:09:05
Fritz
Hallo Excelfreunde,
das nachfolgende Makro kopiert die Tabelle und benennt die Kopie nach der Zahl die in der Zelle "O10" steht.
Allerdings funktioniert das Makro nicht, sofern die in der Zelle "O10" enthaltene Formel keine Zahl liefert, auch beim Wert "". Das Makro sollte in einem solchen Fall jedoch einfach nicht ausgeführt werden?
Wer kann helfen?
Besten Dank im Voraus.
mfg
Fritz

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hier ist das Makro!
15.07.2006 18:10:32
Fritz
Hallo,
hier ist das Makro:

Sub Arbeitsblattkopie()
' kopiert das aktive Sheet und stellt es an den Schluss.
' benennt die Kopie nach dem Eintrag in Zelle "O10"
If Not IsEmpty(Range("O10")) Then
For sh = 1 To Sheets.Count
If Sheets(sh).Name = CStr(Range("O10")) Then
MsgBox "Arbeitsblatt " & Sheets(sh).Name & " existiert schon"
Exit Sub
End If
Next sh
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Range("O10").Value
End If
End Sub

AW: Hier ist das Makro!
15.07.2006 18:28:25
Josef
Hallo Fritz!
So läuft's.
Sub Arbeitsblattkopie()
Dim objWs As Worksheet
' kopiert das aktive Sheet und stellt es an den Schluss.
' benennt die Kopie nach dem Eintrag in Zelle "O10"

If Len(Trim$(Range("O10").Text)) <> 0 Or IsNumeric(Range("O10").Text) Then
  For Each objWs In ThisWorkbook.Worksheets
    If objWs.Name = Range("O10").Text Then
      MsgBox "Arbeitsblatt " & objWs.Name & " existiert schon"
      Exit Sub
    End If
  Next
  ActiveSheet.Copy after:=Sheets(Sheets.Count)
  ActiveSheet.Name = Range("O10").Text
End If
End Sub


Gruß Sepp

Anzeige
Korrektur!
15.07.2006 18:30:28
Josef
Hallo Fritz!
War noch eion Fehler drin.
Sub Arbeitsblattkopie()
Dim objWs As Worksheet
' kopiert das aktive Sheet und stellt es an den Schluss.
' benennt die Kopie nach dem Eintrag in Zelle "O10"

If Len(Trim$(Range("O10").Text)) <> 0 And IsNumeric(Range("O10").Text) Then
  For Each objWs In ThisWorkbook.Worksheets
    If objWs.Name = Range("O10").Text Then
      MsgBox "Arbeitsblatt " & objWs.Name & " existiert schon"
      Exit Sub
    End If
  Next
  ActiveSheet.Copy after:=Sheets(Sheets.Count)
  ActiveSheet.Name = Range("O10").Text
End If
End Sub


Gruß Sepp

Anzeige
AW: Korrektur!
15.07.2006 18:44:25
Fritz
Hallo Sepp,
wieder einmal perfekt gelöst. Herzlichen Dank!
Einzigartig Deine Hilfsbereitschaft und die Qualität deiner Beiträge!
Sepp, da ich im Zusammenhang mit dieser Datei noch ein anderes Anliegen habe, würde ich Dich bei dieser Gelegenheit bitten, vielleicht meinen Beitrag von heute früh "Betreff: VBA-Lösung" anzusehen.
Chris hat mir hierzu schon einen Lösungsansatz geliefert, aber ich komm leider damit nicht klar! Bisher war Chris offensichtlich nicht mehr im Forum.
Gruß
Fritz

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige