ich habe mir einen gute Excel Datei (Rechnung mit fortlaufender RE-Nummer und Kundenstammdaten verwalten) von euch herunterladen dürfe.Es gibt ein kleines Problem für mich mit den 32 Bit -64 Bit Versionen. Ich arbeite mit der Microsoft 64 Bit Version und soll die ( Declare PtrSafe Function aktualisieren und den Bezeichner eingeben)
Microsoft Visual Basic for Applications
---------------------------
Fehler beim Kompilieren:
Erwartet: Bezeichner
---------------------------
OK Hilfe
---------------------------
Im ersten Abschnitt weis ich nicht, was ich dort verändern muss, damit die Datei sauber umgesetzt wierd
Der VBA Code lautet wie folgt:
Option Explicit
'Userform automatisch an Monitor Größe anpassen Teil1
Declare PtrSafe Function RegOpenKeyA Lib "advapire32.dll" ( _
ByVal hKey As LongPtr, (ByVal As String, phkResult As LongPtr) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
'Userform automatisch an Monitor Größe anpassen Teil2
Public Sub prcMaximizeForm(objForm As Object)
With objForm
.StartUpPosition = 0
.Top = 0
.Left = 0
.Width = GetSystemMetrics(SM_CXSCREEN) / 1.33
.Height = GetSystemMetrics(SM_CYSCREEN) / 1.378
End With
End Sub
'Userform automatisch an Monitor Größe anpassen Teil3
Private Sub UserForm_Activate()
Call prcMaximizeForm(Me)
End Sub
'Dieser Code bricht die Userform ohne änderung ab
Private Sub Abrechen_Click()
Unload Me
End Sub
'Daten von Userform in Mappe übertragen()
Private Sub CommandButton1_Click()
Sheets("Stammdaten").Unprotect "test" 'Blattschutz wird mit Passwort Automatisch aufgehoben
Application.ScreenUpdating = True
Range("C5").Value = Me.TextBox1.Value 'Geschäftsführer
Range("C7").Value = Me.TextBox2.Value 'Bearbeiter
Range("C9").Value = Me.TextBox3.Value 'Firmen Name
Range("C11").Value = Me.TextBox4.Value 'Firmen Slogan
Range("C13").Value = Me.TextBox5.Value 'Straße Hausnummer
Range("C15").Value = Me.TextBox6.Value 'Plz / Ort
Range("C17").Value = Me.TextBox7.Value 'Tel
Range("C19").Value = Me.TextBox8.Value 'Fax
Range("C21").Value = Me.TextBox9.Value 'Web Adresse
Range("C23").Value = Me.TextBox10.Value 'Email Adresse
Range("C25").Value = Me.TextBox11.Value 'Briefkopf Absender
Range("C27").Value = Me.TextBox12.Value 'Steuer Nr.
Range("C29").Value = Me.TextBox13.Value 'Bankverbindung
Range("C31").Value = Me.TextBox14.Value 'Konto Nr.
Range("C33").Value = Me.TextBox15.Value 'Blz
Range("C35").Value = Me.TextBox16.Value 'Aktuelle Mwst Satz
Range("C37").Value = Me.TextBox17.Value 'Zahlungs Ziel in Tagen
Range("B39").Value = Me.TextBox21.Value 'Danke Text
Unload UserForm2
Sheets("Stammdaten").Protect "test" 'Blattschutz wird mit Passwort automatsch gesetzt
Application.Wait Now + TimeSerial(0, 0, 2) 'Userform2 Schließt nach 2 sec automatisch
Unload Me
End Sub
Private Sub CommandButton2_Click()
'Rechnungsnummer auf Null zurück setzen
Sheets("Stammdaten").Unprotect "test" 'Blattschutz wird mit Passwort Automatisch aufgehoben
If MsgBox("Achtung hiermit wird die Rechnungsnummer wieder auf Null zurück gesetzt! Wollen _
Sie dieses durchführen? ", vbInformation + vbYesNo) = 7 Then Exit Sub
Dim LoLetzte As Long
Sheets("Rechnung").Range("I2") = -1
Sheets("Stammdaten").Range("K31").Select
Sheets("Stammdaten").Protect "test" 'Blattschutz wird mit Passwort automatsch gesetzt
Application.Wait Now + TimeSerial(0, 0, 2) 'Userform2 Schließt nach 2 sec automatisch
Unload Me
End Sub
'Textbox wird automtisch beim Starten der Userform aus Tabelle gefüllt()
Private Sub UserForm_Initialize()
TextBox1 = Range("C5") 'Geschäftsführer
TextBox2 = Range("C7") 'Bearbeiter
TextBox3 = Range("C9") 'Firmen Name
TextBox4 = Range("C11") 'Firmen Slogan
TextBox5 = Range("C13") 'Straße Hausnummer
TextBox6 = Range("C15") 'Plz / Ort
TextBox7 = Range("C17") 'Tel
TextBox8 = Range("C19") 'Fax
TextBox9 = Range("C21") 'Web Adresse
TextBox10 = Range("C23") 'Email Adresse
TextBox11 = Range("C25") 'Briefkopf Absender
TextBox12 = Range("C27") 'Steuernummer
TextBox13 = Range("C29") 'Bankverbindung
TextBox14 = Range("C31") 'Konto Nr.
TextBox15 = Range("C33") 'Blz
UserForm2.TextBox16 = Format(Range("C35"), "0.00%") 'Aktuelle Mwst Satz
TextBox17 = Range("C37") 'Zahlungs Ziel in Tagen
TextBox18 = Range("F37") 'Zahlbar bis
TextBox19 = Range("F39") 'Aktuelle Rechnungsnummer
TextBox20 = Range("H39") 'Nächste Rechnungsnummer
TextBox21 = Range("C42") 'Danke Text
Label24.Caption = "Heute ist der " & Format(Date, "dd.mm.yyyy")
End Sub
Ich hoffe das ich mich einigermaße verständlich ausgedrückt habe.
Schon mal besten Dank für eure Hilfe
Gruß Wolfgang