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

VBA Differenz 2010 vs 365

VBA Differenz 2010 vs 365
27.01.2017 20:35:05
AlterDresdner
Liebe Gemeinde,
beiliegendes Makro (Schaltfläche Drucken unten) funktioniert in 2010 perfekt, die Werte werden in das Blatt Ladenverkauf übertragen.
Unter Excel365 wird nichts übertragen.
Kann bitte jemand die Ursache finden und beheben? Ich habe kein 365.
Dieser Thread ist die Fortsetzung von
https://www.herber.de/forum/messages/1537478.html
Für sachdienliche Hinweise ist dankbar
der AlteDresdner
https://www.herber.de/bbs/user/110955.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Differenz 2010 vs 365
28.01.2017 15:11:34
Michael
Hi,
bei mir funktioniert es anstandslos.
Die globalen Variablen finde ich aber etwas unschön; hier ein Vorschlag:
Option Explicit
Public blnPrint As Boolean
Sub PrintBill()
Dim lngRow As Long
Dim ueber
Dim objRech As Worksheet, objLaden As Worksheet
Set objRech = ThisWorkbook.Sheets("Rechnung")
Set objLaden = ThisWorkbook.Sheets("Ladenverkauf")
If Not CheckPrint("Rechnung") Then Exit Sub
blnPrint = True ' wozu überhaupt?
lngRow = objLaden.Cells(Rows.Count, 1).End(xlUp).Row + 1
ueber = objLaden.Range("A" & lngRow).Resize(, 7)
With objRech
ueber(1, 1) = Val(.Range("rg_num"))
ueber(1, 2) = .Range("rg_dat").Value
ueber(1, 3) = .Range("rg_name")
ueber(1, 4) = .Range("rg_street")
ueber(1, 6) = .Range("rg_city")
ueber(1, 5) = .Range("rg_zip")
ueber(1, 7) = CDbl(.Range("rg_sum"))
objLaden.Range("A" & lngRow).Resize(, 7) = ueber
'   .PrintOut , copies:=2
.Range("rg_inp") = ""
.Range("rg_num") = Application.Max(objLaden.Range("A:A")) + 1
End With
blnPrint = False
End Sub
Function CheckPrint(blatt) As Boolean
Dim Fehl As String
CheckPrint = True
With ThisWorkbook.Sheets(blatt)
If Val(.Range("rg_num"))  "" Then
MsgBox "Eintrag " & Fehl & " ist leer; es wird nicht gedruckt.", vbCritical, "fehlende  _
Daten"
CheckPrint = False
End If
End With
End Function
Gruß,
Michael
Anzeige
AW: VBA Differenz 2010 vs 365
28.01.2017 18:44:19
AlterDresdner
Hallo Michael und Jo,
ich danke Michael für seinen Test und die Verbesserungsvorschläge, die Objects sollten eigentlich auch nur Dim sein...
Auf einem anderen 2013-PC in der Verwandtschaft ging es mittlerweile auch perfekt.
Das Problem dürfte dann wohl auf dem Rechner von Jo zu suchen sein, ich habe aber keine Ahnung, welches.
Wenn Jo mir mal Zugriff auf seinen Rechner per Teamviewer geben könnte, würde ich da auch suchen oder eine Umgehung basteln... Dazu müsste Jo mal 03513161475 anrufen.
Gruß der Martin
AW: VBA Differenz 2010 vs 365
28.01.2017 22:34:56
Jo
Hallo Michael und Martin,
ich möchte mich bei euch beiden recht herzlich bedanken für eure Mühe.
Jetzt funktioniert es auch bei mir.
Danke nochmal
Grüße an euch beide Jo
Anzeige
gern geschehen, Gruß zurück owT
29.01.2017 16:23:04
Michael

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige