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

Daten übertragen - Teil 2

Daten übertragen - Teil 2
03.03.2018 20:01:50
martin.s
Hallo zusammen,
ich war im letzten Oktober mit meinem Problem schon einmal hier und es wurde bestens geholfen.
https://www.herber.de/cgi-bin/callthread.pl?index=1584436#1584436
Eine Lösung mit einem kleinen Haken allerdings wie ich die Tage erst bemerkte: Es funktioniert nur bis Spieltag 24! Bei Spieltag 25 und größer (ab Spiel-Nr. 250) erscheint der 'Laufzeitfehler 13 Typen unverträglich'.
Das ist sowohl in meiner Originaldatei so als auch in der Beispieldatei von Klaus (in Verbindung mit Daniels Tipp), die ich lediglich um die entsprechenden Spieltage erweitert habe.
Hier die (erweiterte) Beispieldatei:
https://www.herber.de/bbs/user/120194.xlsm
Ich mit meinen sowieso rudimentären Kenntnissen habe keine Idee, woran es liegen könnte, das ab Sp 25 nix mehr geht? Ihr könnt mir bestimmt helfen :-)
Danke vorab und viele Grüße
Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Daten übertragen - Teil 2
03.03.2018 21:13:02
Luschi
Hallo Martin,
bei mir klappt das so:

Sub Tipprunde()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Dim SpielNr As Integer, intCol As Integer
Dim Teilnehmer As String, lngRow As Long
Set wksQuelle = Worksheets("Tipps")
Set wksZiel = Worksheets("Tipprunde")
SpielNr = wksQuelle.Range("B1") * 10 + 1
Teilnehmer = wksQuelle.Range("B2")
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
On Error Resume Next
'Name suchen in erster Zeile
intCol = Application.Match(Teilnehmer, wksZiel.Rows("1:1"), 0)
'Spielnummer suchen in erster Spalte
'kopieren
wksQuelle.Range("B3:B12").Copy
With wksZiel
lngRow = Application.Match(SpielNr, .Range("A1:A" & .Cells(.Rows.Count, _
"A").End(xlUp)), 0)
.Cells(lngRow, intCol).PasteSpecial xlPasteValues
End With
On Error GoTo 0
With Application
.CutCopyMode = False
.ScreenUpdating = True
.EnableEvents = True
End With
Set wksQuelle = Nothing
Set wksZiel = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Daten übertragen - Teil 2
04.03.2018 11:31:59
martin.s
Danke für deine Antwort!
Dein Code in der Beispieldatei funktioniert wie gewünscht.
In meiner Originaldatei bleibt das Problem aber. Es ist wie verhext (für mich)....
Hab mal die Originaldatei verkleinert, mit deinem Code, angepasst an die Datei.
https://www.herber.de/bbs/user/120200.xlsm
Funktioniert bis Sp 24, ab 25 nicht...
Viele Grüße
Martin
AW: Daten übertragen - Teil 2
04.03.2018 17:07:44
Luschi
Hallo Martin,
der Fehler liegt in dieser vba-Zeile

lngRow = Application.Match(SpielNr, .Range("A1:A" & .Cells(Rows.Count, "A").End(xlUp)), 0)

1. Ungenauigkeit: .Cells(Rows.Count, "A")
   richtig:       .Cells(.Rows.Count, "A")
ist aber nicht ausschlaggebend
2. der Fehler: .End(xlUp)) und ist damit das selbe wie: .End(xlUp).Value)
damit wird automatisch auf die richtige Zelle, aber auf den Inhalt (350) der Zelle und nicht auf ZeilenNr. (509) der Zelle zugegriffen
also: End(xlUp).Row)
Sorry, hatte ich auch nicht gleich so gecheckt.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Daten übertragen - Teil 2
04.03.2018 21:09:02
martin.s
Super!
Ein fettes Danke.
Viele Grüße
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige