Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1336to1340
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
VBA Werte einfügen
01.11.2013 15:31:10
Alex
Hallo,
kann mir jemand von euch bei einer Codeanpassung helfen?
Da ich ein VBA Depp bin wurde mir bei der Umsetzung durch das Forum geholfen.
Kurze Erläuterung:
Es wird ein Datensatz aus dem Grundformular kopiert und in einen bestimmten Bereich eines anderen Tab.Blattes eingefügt. Wie muss ich aber schreiben, um nicht Alles einzufügen (in meinem Fall werden auch Gültigkeitsprüfung für Zellen mit übertragen), sondern nur die Werte?
hier der betreffende Schnipsel:
.Range(.Cells(i, 31), .Cells(i, 38)).Copy _
Destination:=ActiveSheet.Range("AE61").End(xlUp).Offset(1, 0)
i = i + 1
bei Bedarf kann ich auch den vollständigen Code liefern oder eine Beispielmappe erstellen (dauert dann aber ein bisschen :-) )
Danke und Gruß
Alex

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Werte einfügen
01.11.2013 16:37:01
Hajo_Zi
Hallo Alex,
nach folgendem Prinzip.

Sub Werte()
'   Formeln ersetzen durch Werte ohne Formate
Columns("B:C").Copy
Columns("B:C").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False         'Zwischenspeicher löschen
End Sub
Sub Werte_Format()
'   Formeln ersetzen durch Werte mit Formate
'    Workbooks("Datei1.xls").Worksheets("Tabelle1").Range(Sheets("Tabelle1").UsedRange.Address). _
Copy
' Vorschlag Verbesserrung NoNet
Workbooks("Datei1.xls").Worksheets("Tabelle1").UsedRange.Copy
With Workbooks("Datei2.xls").Worksheets("Tabelle1").Range("A1")
.PasteSpecial Paste:=xlValues       ' Werte
.PasteSpecial Paste:=xlFormats      ' Formate
End With
Application.CutCopyMode = False
End Sub

Anzeige
Soweit klar, Hajo nur...
01.11.2013 16:50:02
Alex
...wie bekomme ich das verwurschtelt mit dieser:
Destination:=ActiveSheet.Range("AE61").End(xlUp).Offset(1, 0) - Zeile?
Gemäß dem Motto
.Range(.Cells(i, 31), .Cells(i, 38)).Copy _
Destination:=ActiveSheet.Range("AE61").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
i = i + 1
...aber das hat nicht geklappt. :-(
hier nochmal der ganze Code:
'zur Übernahme aus Sammelformular ("Grundformular") in einzelne Nachweise
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
Dim i As Long
If ActiveCell.Column = 1 Then
cancel = True
Sheets(ActiveCell.Row).Visible = True
Sheets(ActiveCell.Row).Activate
ActiveSheet.Unprotect "kw"
If MsgBox(Prompt:="Daten übernehmen?", _
Buttons:=vbYesNo, _
Title:="Daten aus Grundformular kopieren") = vbYes Then
With Sheets("Grundformular")
Sheets("Grundformular").Unprotect ("kw")
i = 24
Do While .Cells(i, 2)  ""
'Daten aus Grundformular kopieren
.Range(.Cells(i, 31), .Cells(i, 38)).Copy _
Destination:=ActiveSheet.Range("AE61").End(xlUp).Offset(1, 0)
i = i + 1
Loop
ActiveSheet.Protect "kw", DrawingObjects:=True, contents:=True, Scenarios:=True
Sheets("Grundformular").Protect ("kw")
End With
End If
Sheets("Übersicht").Activate
End If
For Each Sheet In ThisWorkbook.Sheets
If Sheet.Name  ActiveSheet.Name Then
Sheet.Visible = False
End If
Next
End Sub
Danke und Gruß
Alex

Anzeige
AW: Soweit klar, Hajo nur...
01.11.2013 17:05:52
Hajo_Zi
Hallo Alex,
ein Enter nach Copy.
vergesse nicht
Application.CutCopyMode = False
Gruß Hajo

ooookaaayyyy-ich sagte ich bin VBA-Depp...
01.11.2013 17:24:37
Alex
Hajo.
wie immer mag ich deine Art immer ein bisschen der Aufgabe dem Frager zu überlassen...schadet ja auch nicht! :-)
nur was zur Hölle ist ein "Enter" Zeichen oder Befehl?
Nicht zufällig ein _ ?
Und was passiert wenn ich Application.CutCopyMode = False nicht setze? Das lösche ich den Kopierspeicher - richtig?
Danke und Gruß
Alex

AW: ooookaaayyyy-ich sagte ich bin VBA-Depp...
01.11.2013 17:27:44
Hajo_Zi
Hallo,
die Enter Taste ist auf mein meiner Tastatur rechts über der Taste für Großbuchstaben. Das hat nichtas mit VBA zu tun.
Gruß Hajo

Anzeige
:-D ... sehr peinlich, hab ich gelacht...
01.11.2013 17:46:43
Alex
"die Enter Taste ist auf mein meiner Tastatur rechts über der Taste für Großbuchstaben. Das hat nichtas mit VBA zu tun." - bei mir auch... :-D
...das war ja ma ne witzige Antwort!
...etwa so?:
.Range(.Cells(i, 31), .Cells(i, 38)).Copy
PasteSpecial Paste:=xlPasteValues
Destination:=ActiveSheet.Range("B61").End(xlUp).Offset(1, 0)
das klappt aber nicht.
Hajo! Lass mich doch nicht so zappeln!
Und was passiert wenn ich Application.CutCopyMode = False nicht setze?
Gruß
Alex

AW: :-D ... sehr peinlich, hab ich gelacht...
01.11.2013 17:48:27
Hajo_Zi
Hallo Alex,
Du liest meine Beiträge also nicht. Das hatte ich nicht vorgeschlagen. Ich bin dann raus.
Gruß Hajo

Anzeige
...hab sie schon gelesen... nur nicht verstanden..
01.11.2013 18:01:24
Alex
...offensichtlich nicht.
Hajo,
könntest du mir nicht einfach den Codeteil ergänzen? Auch dadurch lerne ich doch dazu.
Ich hab schon so viel ausprobiert.
Verstehe nicht warum du sauer bist?
Gruß und Danke
Alex

Hat noch jemand einen Tipp?
01.11.2013 18:56:09
Alex
Hallo,
Hab Hajo's Ausführungen nicht ganz geschnallt.
Oder er mich nicht.
Wer weiß.
Danke und Gruß
Alex

AW: Hat noch jemand einen Tipp?
01.11.2013 19:46:00
Tino
Hallo,
hier eine Variante (nicht getestet)
With .Range(.Cells(i, 31), .Cells(i, 38))
ActiveSheet.Range("AE61").End(xlUp).Offset(1, 0).Resize(.Rows.Count, .Columns.Count).Value = _
.Value
End With
Gruß Tino

Anzeige
Danke Tino, läuft wie gewollt... Freude! o.w.T.
01.11.2013 20:02:34
Alex
.

AW: Danke Tino, läuft wie gewollt... Freude! o.w.T.
01.11.2013 20:27:55
Luschi
Hallo Alex,
ich befürchte, daß Du diese Lösung genausowenig verstanden hast wie die Ausführungen von Hajo.
Und ich behaupte, daß Du eben nichts dazulernen willst; denn dann müßtest du schon ein paar Fragen zu diesem Vba-Code stellen.
Mein Vorschlag: Lerne erst mal die Tasten Deiner Tastatur kennen und übe die deutschen & englichen Begriffe dafür - this vba speak US-english.
Gruß von Luschi
aus klein-Paris

eigentlich wollte ich ...
03.11.2013 17:59:00
Alex
...deine abwertenden Aussagen mit keinem Kommentar versehen.
Dass ich dies nun nach reiflicher Überlegung doch tue, ist nicht nur meiner momentanen (und sicherlich egoistischen) Unbeherrschtheit, sondern auch allen anderen "Fragern" in diesem "Forum" geschuldet. (zumindest dachte ich bisher, dass es ein Forum ist (Forum im allgemein bekannten Sinn))
Aus diesen Gründen lasse ich mich nun doch dazu hinreißen, deine herablassenden und zudem sehr unproffessionellen und nicht hilfreichen Äußerungen zu kommentieren.
"ich befürchte, daß Du diese Lösung genausowenig verstanden hast wie die Ausführungen von Hajo."
natürlich, ich habe die Ausführungen von Hajo nicht verstanden, und das kann ich auch ohne Scham zugeben... deswegen hinterfragte ich auch mehrfach.
"Und ich behaupte, daß Du eben nichts dazulernen willst; denn dann müßtest du schon ein paar Fragen zu diesem Vba-Code stellen."
Nun, wie gerade DU Großer Lehrmeister wissen müsstest, gibt es viele Wege des Lernens, mehr oder weniger effektiv, ganz individuell verschieden.
Wie kannst du es -in dieser herablassenden Art und Weise- wagen zu behaupten, ich bin nicht willens oder gar fähig zu lernen oder dazuzulernen! Nur weil ich meinen Weg des Dazulernens gehe!
Ich bin ein erwachsener Mann mit mäßigen Fähigkeiten in Excel (deshalb bin ich auch ein lausiger, mieser, kleiner Frager). Aber wenn alles mit rechten Dingen auf diesem Planeten zugeht, dann wage ICH jetzt mal zu behaupten, dass es auch Sach- und Fachbereiche gibt, in denen ich DIR "überlegen" bin... das ist ja auch normal. Oder bist du etwa auch Kfz-Mechatroniker, Polizist, Trainer, IT-Spezialist, Arzt oder was auch immer...?
So ich denke du hast soweit verstanden und ich will wieder versuchen von der emotionalen auf die Sachebene zurückzukehren.
Warum habe ich den Code erst einmal nicht weiter hinterfragt?
Der Codeschnipsel tat sein Werk wie gewünscht und da hier im Forum nur all zu oft sehr pragmatisch gehandelt wird (Frage - Antwort - Punkt), wollte ich keine VBA Lehrstunde daraus machen und das Forum mit ewig langen Frage - Antwort-Tiraden "nerven".
Ich behandle den Codeschnipsel aber immer nach und versuche zu verstehen, um mir dadurch zukünftig auch selbst bei meinen Problemen helfen zu können ohne hier jemanden auf den Geist zu gehen (und ich konnte mir sehr oft selber helfen).
Den Anstoß dazu gab mir aber immer dieses Forum - und das auch schon seit Jahren. Und dafür bin ich wirklich so unendlich dankbar. Meinen besten Dank an alle die mir bisher geholfen haben!!!! Ihr seid unbezahlbar.
Natürlich sind meine Dateien im Vergleich zu einer Datei eines Menschen, der viel mehr Zeit in Excel-Programmierung investiert hat bedeutend schlechter, komplizierter oder was auch immer.
Dafür bin ich in irgendeinem meiner Hobbies (z.B. Gitarre spielen) oder meinem Beruf bedeutend besser als ein Mensch, der in diesen Bereichen weniger Zeit investiert hat. Ganz normal.
"Mein Vorschlag: Lerne erst mal die Tasten Deiner Tastatur kennen und übe die deutschen & englichen Begriffe dafür - this vba speak US-english."
Und das ist sowas von respektlos....
Das es Enter als Zeichen oder Befehl in VBA gibt oder nicht gibt, wusste ich nicht. Dass es um ein Missverständnis zwischen Hajo und mir ging, VBA-Befehl oder Realtaste auf der Tastatur, war wohl klar zu erlesen. Das rechtfertigt jedoch nicht, jemanden dermaßen lächerlich zu machen.
Ich unterrichtete mehr als 2 Jahre in MEINEM Fachbereich im Ausland. Dies in englischer Sprache.
Jemand der recht gutes Touristenenglisch spricht, der tut sich aber trotzdem schwer wenn es um englisch-sprachiges Fachvokabular geht. Auch das ist ganz normal (Wirtschaftsenglisch, militärtaktisches, medizinisches...).
Und eben auch Programmierenglisch...
Und jetzt für Jeden der das hier liest:
Bitte nicht falsch verstehen!
Dieses Forum half mir wirklich über Jahre bei der Bewältigung beruflicher und privater Problemstellungen im Bereich Excel-Datenverarbeitung.
Und fast immer fühlt man sich nach einer erhaltenen Lösung NICHT wie ein unwürdiger, kleiner Wurm.
Ich entschuldige mich für mein teilw. unsachliches und emotionales Schreiben, aber das musste jetzt mal sein, auch auf die Gefahr hin mich jetzt "gebrandmarkt" zu haben oder aus dem Forum gekickt zu werden.
Ich weiß so etwas hat hier nichts zu suchen.
Ich verbleibe mit besten Grüßen und Vielen Dank
Alex
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige