VB Fehler beim Kopieren???

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VB Fehler beim Kopieren??? von: Slugger
Geschrieben am: 29.03.2005 09:04:20

Hallo, ich habe folgenden Code:


Private Sub CommandButton1_Click()
Workbooks.Open "H:\FT13\BERICHTE\artikeldatenbank\datenbank\datenrechner.xls"
    Windows("Datenbank Sai112.xls").Activate
    Sheets("Berechnung").Select
    Columns("B:B").Select              in dieser Zeile der Fehler
    Selection.Copy
    Windows("Datenrechner.xls").Activate
    Sheets("Altdaten").Select
    Range("A1:A20000").Clear
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Neudaten").Select
    Application.Run "datenrechner.xls!vergleichen"
    Columns("A:A").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Datenbank Sai112.xls").Activate
    Sheets("Stammdaten").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("Datenrechner.xls").Activate
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub


es soll eigentlich nur Spalte B von einem Blatt ins andere kopieren (im Prinzip mit ein paar Extras). Wenn ich den Code ausführe, dann hört er bei Columns("B:B").select auf und bringt mir eine Fehlermeldung. Woran liegt das?? Ich habe das mit dem Makrorecorder aufgenommen. habe es auch schon mit Range und Cells probiert. Jedoch immer wieder der gleiche Fehler. Weiß jemand, woran das liegt??

gruß

Slugger
Bild


Betrifft: AW: VB Fehler beim Kopieren??? von: Hajo_Zi
Geschrieben am: 29.03.2005 09:31:51

Hallo Slugger,

in VBA kann zu 99% auf select verzichtet werden. Ich habe mir mal nur den ersten Teil angesehen.


Private Sub CommandButton1_Click()
    'Workbooks.Open "H:\FT13\BERICHTE\artikeldatenbank\datenbank\datenrechner.xls"
    With Workbooks("Datenrechner.xls").Sheets("Altdaten")
        .Range("A1:A20000").Clear
        Workbooks("Datenbank Sai112.xls").Sheets("Berechnung").Columns("B:B").Copy
        .Range("A1").PasteSpecial Paste:=xlPasteValues
    End With
    Application.CutCopyMode = False
    
End Sub



Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.




Bild


Betrifft: AW: VB Fehler beim Kopieren??? von: Harald E
Geschrieben am: 29.03.2005 09:42:44

Hi Slug

vielleicht noch als Ergänzung zu Hajos guter Lösung.

Statt columns("B:B") kannste auch von unten nach der letzten Zeile suchen lassen

Dim Lz as long
Lz = Sheets("Berechnung").Cells(Rows.Count, 2).End(xlUp).Row
Range("B1:B" & Lz).Copy

Gruß
Harald


Bild


Betrifft: AW: VB Fehler beim Kopieren??? von: Hajo_Zi
Geschrieben am: 29.03.2005 09:47:37

Hallo Harald,

aber so nur falls B65536 nicht belegt.

Gruß Hajo

Das Forum lebt auch von den Rückmeldungen.


Bild


Betrifft: AW: VB Fehler beim Kopieren??? von: Harald E
Geschrieben am: 29.03.2005 10:05:44

Danke für den Hinweis Hajo.
Ich wollte mir auch nicht anmassen, deinen Code zu verbessern....nene, dazu bist Du zu gut.

Ich hatte lediglich vermutet, da er im Zielblatt nur bis Zeile 20000 löscht, Spalte B ebenfalls nicht viel weiter gefüllt ist.
Zudem arbeite ich eigentlich nur noch mit "letzter Zeile", da mir der Editor auch schon des Öfteren das Markieren bzw. Kopieren ganzer Spalten angemeckert hat.
Seit ich über letzte Zeile gehe, meckert er nicht mehr.....warum auch immer ;-))

Nette Grüße
Harald


Bild


Betrifft: Danke von: Slugger
Geschrieben am: 29.03.2005 10:47:15

Was soll ich dazu noch sagen? Jetzt gehts. Weiß zwar nicht warum, aber es geht. :-)

Vielen, vielen Dank

Gruß Slugger


Bild


Betrifft: AW: Danke für die Rückmeldung und von: Harald E
Geschrieben am: 29.03.2005 10:58:51

...zumindest bin ich nicht der Einzigste, der nicht immer weiß, warum etwas funktioniert ;-))

Gruß
Harald


Bild


Betrifft: AW: Danke von: Hajo_Zi
Geschrieben am: 29.03.2005 11:05:04

Hallo Slugger,

mit einem CommandButton auf der Tabelle kannst Du nur mit bestimmten Einstellungen ein select auf eine andere Tabelle machen. Ich bin aber nicht der Fachmann für Steuerelemente in Tabelle. Ich glaube Eigenschaft OnKlickFocus...

Gruß Hajo

Das Forum lebt auch von den Rückmeldungen.


Bild


Betrifft: AW: Nachtrag zu Hajo von: Martin Beck
Geschrieben am: 29.03.2005 11:08:57

Hallo,

Ergänzung zu Hajo: Die TakeFocusOnClick-Eigenschaft des CommandButtons muß auf FALSE gesetzt werden. Aber besser ist es, wie Hajo schon geschrieben hat, auf Select etc. zu verzichten.

Gruß
Martin Beck


 Bild

Beiträge aus den Excel-Beispielen zum Thema "VB Fehler beim Kopieren???"