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

LZF 1004 - Mehrfachauswahl...

LZF 1004 - Mehrfachauswahl...
10.10.2023 22:28:32
Gruibe
Hallo liebe Forumsteilnehmer,
hab mal wieder ein Problem und komme nicht weiter.

Bei nachfolgendem Makro kommt an gekennzeichneter Stelle (*****) immer der Laufzeitfehler 1004..Die PasteSpecial-Methode des Range Objektes konnte nicht ausgeführt werden.
Wenn ich noch mal auf Debuggen klick, kommt "Diese Aktion funktioniert nicht bei einer Mehrfachauswahl."

Ich versteh nicht warum
Würde mich freuen, wenn mir hier jemand weiterhelfen könnte.
Besten Dank schon mal.

Gruibe


Sub RE_Bezeichnungen_einlesen_()

Dim lngRow As Long
Dim sPfad As String
Dim kd As String
Dim Formel As String

Dim wb As Workbook: Set wb = Workbooks.Open(Environ("userprofile") & "nextcloudArbeitsschutzVorlagen GBUGBU Excelgbu.xlsm", ReadOnly:=False)
Dim wsDeckblatt As Worksheet


Set wsDeckblatt = Workbooks("gbu.xlsm").Worksheets("0_Deckblatt")
kd = wsDeckblatt.Range("D4").Value


'Dateipfad der Quelldatei
sPfad = Environ$("userprofile") & "NextcloudBetriebe" & kd & "Taetigkeitsnachweisgbu_taetigkeitsnachweis.xlsm"
Set wbQuelle = Workbooks.Open(sPfad)


With ThisWorkbook.Worksheets("Rechnung")
Call .Unprotect

'Zähler
For x = 1 To 8

For lngRow = 20 To 34 Step 2
If IsEmpty(.Cells(lngRow, 2).Value) Then Exit For
Next

If lngRow = 36 Then
Call MsgBox("Keine freie Zeile im Bereich.", vbCritical, "Fehler")
Else

Application.ScreenUpdating = False

With ThisWorkbook.Worksheets("Rechnung")
.Range("B" & lngRow).UnMerge
.Range("N" & lngRow).UnMerge

'Bezeichnung aus TN (setup) übernehmen

If Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("L" & x) = "" Then GoTo ganzfertig
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("L" & x).Copy
Call ThisWorkbook.Worksheets("Rechnung").Range("B" & lngRow).PasteSpecial(Paste:=xlPasteValues)
ThisWorkbook.Worksheets("Rechnung").Range("s" & lngRow).FormulaR1C1 = "=RC[-5]*RC[-2]"
.Range("B" & lngRow & ":L" & lngRow).Merge

'Anzahl Stunden aus TN (setup) übernehmen

If Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("M" & x) > 0 Then
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("M" & x).Copy
Call ThisWorkbook.Worksheets("Rechnung").Range("Q" & lngRow).PasteSpecial(Paste:=xlPasteValues)
ThisWorkbook.Worksheets("Rechnung").Range("M" & lngRow).Value = "Std."
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(2).Range("H32").Copy
Call ThisWorkbook.Worksheets("Rechnung").Range("N" & lngRow).PasteSpecial(Paste:=xlPasteValues)
.Range("B" & lngRow & ":L" & lngRow).Merge

End If
GoTo km


'Kilometer aus TN (setup) übernehmen
km:

If Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("N" & x) > 0 Then
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("N" & x).Copy
Call ThisWorkbook.Worksheets("Rechnung").Range("Q" & lngRow).PasteSpecial(Paste:=xlPasteValues)
ThisWorkbook.Worksheets("Rechnung").Range("M" & lngRow).Value = "Km"
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(2).Range("H33").Copy
****** Call ThisWorkbook.Worksheets("Rechnung").Range("N" & lngRow).PasteSpecial(Paste:=xlPasteValues)
.Range("B" & lngRow & ":L" & lngRow).Merge


End If

GoTo pauschale


'Pauschale aus TN (setup) übernehmen
pauschale:


If Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("O" & x) > 0 Then
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(1).Range("O" & x).Copy
Call ThisWorkbook.Worksheets("Rechnung").Range("Q" & lngRow).PasteSpecial(Paste:=xlPasteValues)
ThisWorkbook.Worksheets("Rechnung").Range("M" & lngRow).Value = "Pauschale"
Call Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(2).Range("H34").Copy
Call ThisWorkbook.Worksheets("Rechnung").Range("N" & lngRow).PasteSpecial(Paste:=xlPasteValues)
.Range("B" & lngRow & ":L" & lngRow).Merge
End If

End With

Workbooks("gbu_rechnung.xlsm").Activate
Sheets("Rechnung").Range("N20:N" & Cells(Rows.Count, 14).End(xlUp).Row).Select

With Selection
.NumberFormat = "#,##0 €"
.Font.ColorIndex = 13
End With

.Range("N" & lngRow & ":O" & lngRow).Merge

Application.ScreenUpdating = True

End If


Next x

ganzfertig:
.Range("B" & lngRow & ":L" & lngRow).Merge
.Range("N" & lngRow & ":O" & lngRow).Merge


End With

With ThisWorkbook.Worksheets("Rechnung")
Call .Protect
End With

'Inhalte aus TN Bereich Spalte L-O löschen

DisplayAlerts = False
Workbooks.Open (sPfad)
Sheets("setup").Activate
Range("L1:O20").ClearContents
ActiveWorkbook.Close SaveChanges:=True

End Sub


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: LZF 1004 - Mehrfachauswahl...
10.10.2023 22:53:51
daniel
Hi

Ich kann da jetzt kein Problem an dieser Stelle erkennen.

Da du nur einen Einzelwert überträgst, kannst du das statt mit Copy-Paste auch mit einer Zuweisung machen, das ist unproblematischer.

ThisWorkbook.Worksheets("Rechnung").Range("N" & lngRow).Value = Workbooks("gbu_taetigkeitsnachweis.xlsm").Worksheets(2).Range("H33").Value


Gruß Daniel
AW: LZF 1004 - Mehrfachauswahl...
12.10.2023 13:25:24
Gruibe
Danke Daniel,
jetzt hat es funktioniert.

Grüße
Gruibe
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige