ich bin mal so eben schnell nach einem Jahr Pause und nur einem Buch wieder in VBA für Excel eingestiegen, hab mal was hinprogrammiert was irgendwie funktionniert und stehe jetzt doch auf Schlauch.
Ich meinen gesamten Code die entsprechende Tabelle geschrieben und da funktioniert er auch ganz gut, möchte diesen aber jetzt in ein Modul umziehen und bekomme es mit Copy and Pace schon mal nicht hin.
Wisst ihr etwas generelles das beachtet werden muss. Als Beispiel hänge ich mal das meiste von meinem Code an. Hoffe ihr könnt mir einen Tipp geben.
Sub Worksheet_Change(ByVal Target As Range)
Dim kopien As String, slashposition As Integer
Dim zahlA As String, zahlB As String, laengeA As Integer, laengeKop As Integer
Dim zahl1 As Integer, zahl2 As Integer, auswahl As Integer
If Target.Address(0, 0) = "C9" Then
If Not Target Is Nothing Then
kopien = Target.Value
slashposition = InStr(kopien, "/")
If slashposition > 0 Then
zahlA = Left(kopien, slashposition - 1)
laengeA = Len(zahlA)
laengeKop = Len(kopien)
zahlB = Right(kopien, Len(kopien) - (Len(zahlA) + 1))
zahl1 = Val(zahlA)
zahl2 = Val(zahlB)
If zahl1 > 1 And zahl2 > 1 Then
auswahl = MsgBox("Soll eine Einzelkopie erstellt werden?", vbYesNo)
If auswahl = vbYes Then
einzelkopie
Else
Exit Sub
End If
Else
If zahl1 > zahl2 Then
anzahlKop = zahl1
Else
anzahlKop = zahl2
End If
frmEinzel_Mehrfach.Show
End If
Else
MsgBox "Bitte Kopienanzahl korrekt eintragen Zahl/Zahl"
End If
End If
End If
End Sub
Public Sub kopieren(anzahlKop)
Application.EnableEvents = False
Dim anzahl As Integer, mengeKop As Double
Dim zahlA As String, zahlB As String, inhalt As String
anzahl = anzahlKop
For mengeKop = 1 To anzahl
zahlA = CStr(mengeKop)
zahlB = CStr(anzahl)
inhalt = zahlA & "/" & zahlB
'MsgBox inhalt
ThisWorkbook.Worksheets(4).Range("c9").Value = inhalt
ActiveSheet.Range("a1:d11").PrintOut
Next mengeKop
Application.EnableEvents = True
End Sub
Public Sub einzelkopie()
ActiveSheet.Range("a1:d11").PrintOut
End Sub