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

variabel kopieren

variabel kopieren
08.01.2017 09:47:08
MB12
Guten Morgen zusammen,
Ausschnitt aus funktionierendem Code:
owb2.Worksheets("Tabelle1").Range("B19:D33").Value = _ owb1.Worksheets("Ablaufplan").Range("B3:D17").Value
Das möchte ich aber variabel haben, da die Anzahl der Zeilen des Bereichs immer unterschiedlich sind und habe es so probiert:
owb2.Worksheets("Tabelle1").Range("B19").Value = _ owb1.Worksheets("Ablaufplan").Range("B3:D" & lletzte).Value
Hier kommt mal wieder der berühmte Laufzeitfehler 1004
Bestimmt ein Anfängerfehler. Was ist hier falsch?
Danke für jede Hilfe und beste Grüße
Margarete

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variabel kopieren
08.01.2017 09:52:48
Hajo_Zi
Hallo Magarete,
Du kopierst nicht. Links steht nur eine Zelle rechts viele, Du kannst nicht viele Zellen in eine Schreiben.

AW: variabel kopieren
08.01.2017 10:19:23
MB12
Hallo Hajo,
ich hatte es auch so probiert:
owb2.Worksheets("Tabelle1").Range("B19:D").Value = _ owb1.Worksheets("Ablaufplan").Range("B3:D" & lletzte).Value
das geht auch nicht. Wie könnte ich es sonst lösen?
Danke dir, Margarete
AW: variabel kopieren
08.01.2017 10:20:38
Werner
Hallo Margarete,
owb2.Worksheets("Tabelle1").Range("B19:D" & lletzte + 16).Value = _ owb1.Worksheets("Ablaufplan").Range("B3:D" & lletzte).Value
Gruß aus dem Hohenlohischen (derzeit aber außerhalb)
Werner
Anzeige
AW: variabel kopieren immer noch 1004
08.01.2017 11:06:30
MB12
Moin lieber Werner (und natürlich Hajo),
wohin hat es dich denn verschlagen? Hier ist alles weiß und kalt - ich hoffe, dass meine Batterie morgen früh noch mitspielt....
Es kommt immer noch das gleiche Ergebnis. Ich lade mal eine Musterdatei mit dem gesamten Code hoch - vielleicht versteckt sich noch ein "anderer Hund" drin....
https://www.herber.de/bbs/user/110401.xlsm
Herzlichen Dank, Margarete
AW: variabel kopieren immer noch 1004
08.01.2017 11:10:06
Werner
Hallo Margarete,
kann ich im Moment leider nicht runter laden (.xlsm). Wenn, dann bitte als normale .xlsx einstellen und den Code separat einstellen oder ich kann mir das erst am Montag anschauen.
Bin derzeit in LB, auch kalt (wenn auch nicht ganz so wie bei dir) und weiß.
Gruß Werner
Anzeige
AW: variabel kopieren immer noch 1004
08.01.2017 11:42:03
MB12
Hallo Werner,
witzig: Ich habe ca 8 Jahre in LB gewohnt...
Hier wie gewünscht:
https://www.herber.de/bbs/user/110402.xlsx
Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
ByVal DirPath As String) As Long
Private Sub CommandButton1_Click()
Dim strPath As String, strFile As String, strPathNew As String, strDir As String
strFile = Range("A1").Text & " " & Range("B1").Text & " " & "Ablaufplan" & ".xlsm"
strPath = "X:\ALS\12_Projekte+VK-Preise\" & Cells(1, 5).Text & "\"
strDir = Range("A1").Text & " " & Range("B1").Text
strPathNew = strPath & strDir & "\"
If CBool(MakeSureDirectoryPathExists(strPathNew)) Then
ThisWorkbook.SaveAs Filename:=strPathNew & strFile
Else
MsgBox "Fehler beim anlegen des Pfades: " & strPath
End If
End Sub

Private Sub CommandButton2_Click()
Dim owb1 As Workbook
Dim owb2 As Workbook
Dim owb3 As Workbook
Dim lletzte As Long     'oder String?
Set owb1 = ThisWorkbook 'Arbeitsmappe mit diesem Code
Set owb2 = Workbooks.Open("C:\Users\ohne\Documents\Excel und VBA\Vorlagen AE\Vorlage  _
Auftragseingangsformular1.xlsm")
Set owb3 = Workbooks.Open("C:\Users\ohne\Documents\Excel und VBA\Vorlagen AE\Vorlage  _
Maschinenpreise VK_PPMS1.xlsx")
'owb1.Sheets(1).Range("P2:Q" & lletzte).Copy    Beispiel
'owb2.Sheets(1).Range("J2").Paste               Beispiel; aber es sollen nur die Werte kopiert  _
werden; deshalb:
owb2.Worksheets("Tabelle1").Range("C5").Value = owb1.Worksheets("Ablaufplan").Range("A1").Value  _
'also zuerst das Zielblatt!!
owb2.Worksheets("Tabelle1").Range("C12").Value = owb1.Worksheets("Ablaufplan").Range("I32"). _
Value   'KOM
owb2.Worksheets("Tabelle1").Range("C9").Value = owb1.Worksheets("Ablaufplan").Range("I33"). _
Value    'FAT
owb2.Worksheets("Tabelle1").Range("C11").Value = owb1.Worksheets("Ablaufplan").Range("I34"). _
Value    'LT
owb2.Worksheets("Tabelle1").Range("B19:D" & lletzte + 16).Value = owb1.Worksheets("Ablaufplan"). _
Range("B3:D" & lletzte).Value 'Fehler 1004
owb3.Worksheets("Tabelle1").Range("D2").Value = owb1.Worksheets("Ablaufplan").Range("A1").Value  _
'ProjNr
owb3.Worksheets("Tabelle1").Range("B13:D27").Value = owb1.Worksheets("Ablaufplan").Range("B3: _
D17").Value 'Maschinen
End Sub
Grüßle, M.
Anzeige
AW: variabel kopieren immer noch 1004
08.01.2017 11:33:52
Crazy
Hallo Margarete
ist es richtig dass es sich jeweils um das gleiche Tabellenblatt handelt?
in der Datei ist nur das eine
probiere es doch mal so
Sub test()
Dim lngLetzte As Long
lngLetzte = Cells(18, 2).End(xlUp).Row
Cells(19, 2).Resize(lngLetzte, 3).Value = _
Cells(3, 2).Resize(lngLetzte, 3).Value
End Sub
MfG Tom
AW: variabel kopieren immer noch 1004
08.01.2017 11:46:57
MB12
Hi Tom,
nein, es sind 3 verschiedene Dateien. owb2 und owb3 existieren schon als Vorlagen und sollen später unter neuem Namen gespeichert werden. Ich wusste aber nicht, ob es Sinn macht, diese auch hochzuladen.
Deshalb habe ich ja 3x mit Set gearbeitet, damit ich wieder zur ursprünglichen Datei (Ablaufplan) wechseln kann. Ich hoffe, das war eine vernünftige Idee.
Gar nicht so einfach, wenn man noch Anfänger ist....
Gruß, Margarete
Anzeige
AW: variabel kopieren immer noch 1004
08.01.2017 11:51:47
Werner
Hallo Margarete,
na du solltest halt schon irgendwo die letzte Zeile ermitteln, sonst ist lletzte = 0 und damit kriegst du den Fehler 1004, HaJo hatte also recht.
lletzte = owb1.Worksheets("Ablaufplan").Cells(Rows.Count, 2).End(xlUp).Row
owb2.Worksheets("Tabelle1").Range("B19:D" & lletzte + 16).Value = owb1.Worksheets("Ablaufplan"). _
_
Range("B3:D" & lletzte).Value 'Fehler 1004
In welchem Stadtteil?
Gruß Werner
AW: danke an alle,...
08.01.2017 12:18:10
MB12
Hallo Hajo, Werner, Tom,
super, so funktioniert es. Habe Werners Lösung genommen, da ich nur die eine Zeile einfügen musste. Ist auch für die Zukunft gespeichert.
Ist schon witzig: Habe den halben Vormittag damit zugebracht, einer Freundin - in LB!! - per Fernwartung mit ihrem Notebook zu helfen und "wurde gleichzeitig geholfen".
@Werner: Damals Friedrichstr. 60, danach Möglingen und Schwieberdingen, bevor ich '82 nach HoLo gezogen bin. Komme immer noch mindestens 1x pa nach LB.
Liebe Grüße, Margarete
Anzeige
AW: Gerne u. Danke für die Rückmeldung
08.01.2017 12:22:03
Werner
Hallo Margarete,
heute wäre wieder ein möglicher Besuchstermin gewesen, verkaufsoffener Sonntag.
Gruß Werner
AW: variabel kopieren immer noch 1004
08.01.2017 11:56:28
Crazy
Hallo Margarete
ungetestet nur dieser Teil des Codes

Dim lngLetzte As Long
With owb1.Worksheets("Ablaufplan")
lngLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row
owb2.Worksheets("Tabelle1").Cells(19, 2).Resize(lngLetzte, 3).Value = _
.Cells(3, 2).Resize(lngLetzte, 3).Value
End With
MfG Tom
AW: variabel kopieren
08.01.2017 10:20:43
Hajo_Zi
da im Ersten Bereich die Zahl fehlt. lletzte+16
Gruß Hajo
Anzeige
AW: variabel kopieren
08.01.2017 11:19:14
Hajo_Zi
die Variable lletzte ist 0 und Excel hat keine Zeile 0
Gruß Hajo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige