Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte aus Zelle in ein andere Tabelle

Werte aus Zelle in ein andere Tabelle
16.11.2020 21:19:56
Heino
Hallo,
ich möchte gerne Werte aus einer Tabelle in eine andere Tabelle in die nächste freie Zeile per cmd Button schreiben. In der Spalte A soll eine fortlaufende Nummer generiert werden. Bekomme immer einen Laufzeitfehler 13.
Wäre nett wenn mir jemand den Fehler erklären kann.
Füge mal den Code an:
Private Sub CommandButton1_Click()
' **********Übertrag von sperr1 zu Liste************
Dim wksOrig As Worksheet
Dim wksStore As Worksheet
Dim lngLastRow As Long
Set wksOrig2 = Worksheets("Sperr1")
Set wksStore = Worksheets("Liste")
With wksStore
wksStore.Range("A2") = 0
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Select
ActiveCell.Offset(1, 0) = ActiveCell + 1
.Cells(lngLastRow, 3) = wksOrig.Range("A5")
.Cells(lngLastRow, 4) = wksOrig.Range("E24")
.Cells(lngLastRow, 5) = wksOrig.Range("F2")
.Cells(lngLastRow, 6) = wksOrig.Range("H2")
.Cells(lngLastRow, 7) = wksOrig.Range("C4")
.Cells(lngLastRow, 8) = wksOrig.Range("H4")
.Cells(lngLastRow, 9) = wksOrig.Range("D2")
.Cells(lngLastRow, 10) = wksOrig.Range("C15")
.Cells(lngLastRow, 11) = wksOrig.Range("D15")
.Cells(lngLastRow, 12) = wksOrig.Range("C16")
.Cells(lngLastRow, 13) = wksOrig.Range("D16")
.Cells(lngLastRow, 14) = wksOrig.Range("C17")
.Cells(lngLastRow, 15) = wksOrig.Range("E13")
.Cells(lngLastRow, 16) = wksOrig.Range("H13")
.Cells(lngLastRow, 17) = wksOrig.Range("C9")
.Cells(lngLastRow, 18) = wksOrig.Range("D9")
.Cells(lngLastRow, 19) = wksOrig.Range("E9")
.Cells(lngLastRow, 20) = wksOrig.Range("F9")
.Cells(lngLastRow, 21) = wksOrig.Range("G9")
.Cells(lngLastRow, 22) = wksOrig.Range("H9")
.Cells(lngLastRow, 23) = wksOrig.Range("C12")
.Cells(lngLastRow, 24) = wksOrig.Range("D12")
.Cells(lngLastRow, 25) = wksOrig.Range("E12")
.Cells(lngLastRow, 26) = wksOrig.Range("F12")
.Cells(lngLastRow, 27) = wksOrig.Range("G12")
.Cells(lngLastRow, 28) = wksOrig.Range("H12")
.Cells(lngLastRow, 29) = wksOrig.Range("F6") 'Schichtführer/Mitarbeiter
.Cells(lngLastRow, 30) = wksOrig.Range("D6")
End With
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Zelle in ein andere Tabelle
16.11.2020 21:31:07
AlterDresdner
Hallo Heino,
die Variable lngLastRow ist von Dir nicht belegt, also =0, deshalb der Fehler.
Du könntest die ersten 3 Zeilen nach With (wahrscheinlich) ersetzen durch
.cells(2,1)=.cells(2,1)+1'Zelle A2 um 1 hochzählen
lngLastRow=.Cells(Rows.Count, 1).End(xlUp).row+1'erste freie Zeile in wksStore
Gruß der AlteDresdner
Anzeige
AW: Werte aus Zelle in ein andere Tabelle
17.11.2020 20:02:45
Heino
Hallo,
bekomme jetzt die Fehlermeldung:
Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt.
Gruß
Heino
AW: Werte aus Zelle in ein andere Tabelle
18.11.2020 10:30:51
Heino
Hallo,
bekomme jetzt die Fehlermeldung:
Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt.
Gruß
Heino
Anzeige
AW: Werte aus Zelle in ein andere Tabelle
18.11.2020 11:20:22
AlterDresdner
Hallo Heino,
das ist wksOrig. Du belegst am Anfang wksOrig2:
Die Anwendung von Option Explicit hätte Dir diesen Fehler erspart...
Gruß der ALteDresdner
AW: Werte aus Zelle in ein andere Tabelle
18.11.2020 20:00:18
Heino
Hallo,
stehe echt auf dem Schlauch.
Kannst Du mir bitte den Anfang des Code's noch einmal erklären.
Danke im Voraus.
Heino
Anzeige
AW: Werte aus Zelle in ein andere Tabelle
22.11.2020 20:59:06
AlterDresdner
Hallo Heino,
hier der kommentierte Anfang des Codes.
  Set wksOrig = Worksheets("Sperr1") 'Objekt, mit dem Sheets Sperr1 angesprochen werden kann
Set wksStore = Worksheets("Liste") '...Liste...
With wksStore
'durch das With ersparst Du bei allen nachfolgenden Zeilen das Schreiben von wksStore
'.cells(2,1) ist dann identisch mit wksStore.Cells(2,1) oder Sheets("Liste").Range("A2")
.Cells(2, 1) = .Cells(2, 1) + 1 'Zelle A2 in Liste um 1 hochzählen
lngLastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1 'erste freie Zeile in Liste
.Cells(lngLastRow, 3) = wksOrig.Range("A5") 'Übernahme aus Sheet Sperr1

Ich denke, den rest kann Dir die Hilfe sagen...
Gruß der ALteDresdner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige