Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

2 Probleme mit VBA-Code

2 Probleme mit VBA-Code
05.11.2014 15:08:40
Chris
Hallo,
ich hoffe, ihr könnt mir weiterhelfen.
Ich habe den VBA-Code soweit voll funktionsfähig fertig.
Folgende Funktion:
Es wird wird in einer Tabelle nach dem letzten Eintrag in Spalte A gesucht und dann eine neue fortlaufende Nummer erzeugt. Gleichzeitig wird abgefragt, ob ein dazugehöriges Arbeitsblatt für Notizen angelegt werden soll. Bei Ja, wird das Sheet "Notice" kopiert, hinter dem aktuellen Sheet eingefügt und der Sheetname entsprechend der fortlaufenden Nummer geändert.
Ich habe jetzt noch 2 Probleme:
1. Wenn ich bei der Abfrage auf "Nein" klicke kommt die Meldung "Objektvariable oder With-Blockvariable nicht festgelegt". Beim Debuggen bleibt er an folgender Stelle im Code stehen: wsact.Copy After:=ActiveSheet
Richtigerweise soll er dann nach "Nein" einfach das Makro abbrechen.
2. Ich möchte gerne VOR der Sheet-Kopier-Anweisung prüfen, ob das Sheet schon existiert. Wenn ja, dann soll eine msg-Box-Meldung kommen und das VBA abbrechen.
Könnt ihr mir da bitte helfen?
Hier ist mein fast funktioniertende Code:
Private Sub CommandButton1_Click()
' Folgendes wird gemacht:
'       Ermittelt die letzte Änderungsnummer
'       fügt eine neue Zeile dahinter ein
'       fügt eine neue Änderungsnummer ein
'       fragt, ob eine neue Änderungsnotiz erstellt werden soll und kopiert bei Bedarf das  _
Sheet "Notice"
'       Trägt die neue Änderungsnummer oben im Tabellenblatt ein und unten im Sheetnamen
Dim lngZeile As Long
Dim neuZelle As Long
Dim ChangeNo As Long
Dim wsact As Worksheet
Dim Sheetname As String
' Ermittelt die letzte Änderungsnummer
lngZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row  'Letzte gefüllte Zeile in Spalte A   _
_
suchen
neuZeile = lngZeile + 1
If neuZeile = 17 Then           'Abfragen, ob es die 1. Änderung ist
ChangeNo = 1
Else: ChangeNo = Cells(lngZeile, 1) + 1
End If
' fügt eine neue Zeile dahinter ein
ActiveSheet.Cells(neuZeile, 1).Select
Selection.EntireRow.Copy
Selection.EntireRow.Insert Shift:=xlDown
' fügt eine neue Änderungsnummer ein
Cells(neuZeile, 1) = ChangeNo
' fragt, ob eine neue Änderungsnotiz erstellt werden soll und kopiert bei Bedarf das Sheet " _
Change notice"
If MsgBox("Soll eine neue Änderungsnotiz erstellt werden?", vbYesNo, "Create Change Notice?") =  _
_
vbYes _
Then Set wsact = Worksheets("Notice")
Sheetname = "Notice " & ChangeNo
wsact.Copy After:=ActiveSheet
ActiveSheet.Name = "Neu"
Sheets("Neu").Select
ActiveSheet.Name = Sheetname
Sheets(Sheetname).Range("D5") = ChangeNo
End Sub

Danke schon mal vorab.
Grüße
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: 2 Probleme mit VBA-Code
05.11.2014 15:24:07
Rudi
Hallo,
  ....
Cells(neuZeile, 1) = ChangeNo
SheetName = "Notice " & ChangeNo
On Error Resume Next
Set wks = Sheets(SheetName)
On Error GoTo 0
If wks Is Nothing Then
If MsgBox("Soll eine neue Änderungsnotiz erstellt werden?", _
vbYesNo, "Create Change Notice?") = vbYes Then
Set wsAct = Worksheets("Notice")
wsAct.Copy After:=ActiveSheet
With ActiveSheet
.Name = SheetName
.Range("D5") = ChangeNo
End With
End If
Else
MsgBox "Blat  " & SheetName & " existiert bereits!", , "Gebe bekannt ..."
End If
End Sub

Gruß
Rudi

Anzeige
AW: 2 Probleme mit VBA-Code
05.11.2014 15:42:50
Chris
Hallo Rudi,
vielen Dank, hab deinen geänderten Code bei mir reinkopiert.
Er bleibt bei der Zeile If wks Is Nothing Then hängen. Alles vorher klappt noch.
Hast da eine Idee?
Gruß
Chris

AW: 2 Probleme mit VBA-Code
05.11.2014 16:23:44
Rudi
hallo,
wie hast du wks deklariert? Als Worksheet?
Gruß
Rudi

AW: 2 Probleme mit VBA-Code
05.11.2014 16:28:00
Chris
Tja, das hatte ich vergessen.
Habs jetzt als Worksheet deklariert, und es funktioniert super.
Danke dir.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige