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

Range("C9:C21").Value

Range("C9:C21").Value
09.02.2014 04:07:46
Benedikt
Guten Morgen zusammen
Kann mir bitte jemand helfen
Mit
Range("C9:C21").Copy
wksOfferte.Cells(iRowT, 3).PasteSpecial Paste:=xlValues
iRowT = wksOfferte.Cells(wksOfferte.Rows.Count, 3).End(xlUp).Row
wird der kopierte Bereich C9:C21 ins Arbeitsblatt Offerte eingefügt. Funktioniert.(Danke an Hans Herber)
Da ich immer noch auf der Suche zum Unterbinden des Bildschirmzuckeln bin, möchte ich es so versuchen (Dank an Ransi):
wksOfferte.Cells(iRowT, 3) = Range("C9:C21").Value
iRowT = wksOfferte.Cells(wksOfferte.Rows.Count, 3).End(xlUp).Row
Hier wird leider nur der Inhalt von C9 eingefügt, von C10 bis C21 will niemand etwas wissen. Was funktioniert nicht?
Nachfolgend noch grösserer Codeausschnitt
Sub Test()
Dim wkb As Workbook
Dim wksOfferte As Worksheet, wksTitle As Worksheet
Dim iRowT As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wkb = Workbooks("Tempoff.xlsm")
Set wksOfferte = wkb.Worksheets("Offerte")
Set wksTitle = wkb.Worksheets("Titel")
iRowT = wksOfferte.Cells(wksOfferte.Rows.Count, 3).End(xlUp).Row + 2
If iRowT 
Vielen Dank für eure Hilfe
Grüsse Benedikt

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range("C9:C21").Value
09.02.2014 07:23:57
Luschi
Hallo Benedikt,
Diese Programmzeile:
wksOfferte.Cells(iRowT, 3) = Range("C9:C21").Value
ist für dem Vba-Compiler unvollständig und wird automatisch so ergänzt:
wksOfferte.Cells(iRowT, 3).Value = Activesheet.Range("C9:C21").Value
Jetzt erkennst Du hoffentlich, daß Du versuchst, in eine Zelle Werte aus 13 Zellen zu schreiben.
Man muß den Zielbereich auf die gleiche Größe erweitern.
Dim i As Integer
'Anzahl der Quellzellen
i = ActiveSheet.Range("C9:C21").Cells.Count
wksOfferte.Cells(iRowT + 1, 3).Resize(i, 1).Value = ActiveSheet.Range("C9:C21").Value
Gruß von Luschi
aus klein-Paris
PS: Leider hat es sich in den Vba-Foren eingebürgert, den Code immer dann zu verkürzen, wenn man die von M$ definierten Standard-Eigenschaften/Methoden der Objekte benutzt. Es wird diese Eigenschaft einfach nicht mehr hingeschrieben. Das ist einfach unproffesionell.
Gerade der Neueinsteiger sollte sich immer bewußt sein, welche Eigenschaft/Methode meint man eigentlich, wenn man nur
wksOfferte.Cells(iRowT, 3) = ...
schreibt statt
wksOfferte.Cells(iRowT, 3).Value = ...

Anzeige
Vielen Dank Luschi
09.02.2014 11:14:06
Benedikt
Guten Morgen Luschi
Vielen herzlichen Dank für deine Hilfe. Ob ich das Bildschirmzuckeln welches nur unter 2013 auftritt damit wegbringe wird sich später zeigen.
Ich bitte auch um Verständnis für den Laienschauspieler. Die Bühne von VBA ist sehr oft zu gross für mich.... Ich wurde gestern beim Googeln zwar auf den vorgesetzten .Value=.... aufmerksam, würde mich aber nie getrauen einen Code aus Profifeder abzuändern so lange der einwandfrei läuft. (Herber-Ransi)
PS: Leider hat es sich in den Vba-Foren eingebürgert, den Code immer dann zu verkürzen, wenn man die von M$ definierten Standard-Eigenschaften/Methoden der Objekte benutzt. Es wird diese Eigenschaft einfach nicht mehr hingeschrieben. Das ist einfach unprofessionell.
Vielen lieben Dank und einen schönen Sonntag
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige