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

wert aus bestimmten bereich kopieren und einfügen

wert aus bestimmten bereich kopieren und einfügen
02.10.2017 18:00:48
Kay
Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine Excelliste in der ich Daten stehen habe. Jede 2. Zeile ist allerdings leer. Diese möchte ich jetzt füllen. Hierbei ist es so, das der gleiche Wert immer in einem bestimmten Zeilenbereich steht.
Ich hätte jetzt gerne, das ich über eine UserForm einen Wert eingeben kann. Dieser Wert soll dann in einem bestimmten Zeilenbereich (z.b. Zeile 102 - 110) in jede leer zelle eingefügt werden. Die entsprechenden Zeilennummern möchte ich ebenfalls über eine userform auswählen können.
Ich hoffe die Aufgabenstellung habe ich einigermaßen Verständlich erklären können und ihr könnt mir hier weiter helfen.
Vielen Dank schon mal im Voraus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wert aus bestimmten bereich kopieren und einfügen
02.10.2017 18:15:39
Kay
Zum besseren Verständnis habe ich mal ein Mustertabelle erstellt.
Ich möchte in jeder Freien Zelle in Spalte A und B, den Wert aus Zeile 2 eintragen und das nur in einem bestimmten Bereich. Hier im Beispiel wäre es in Zeilen 1 bis 16, da danach der Artikel "Löffel" kommt, der wiederum einen anderen Text bekommt.
https://www.herber.de/bbs/user/116702.xlsx
AW: wert aus bestimmten bereich kopieren und einfügen
03.10.2017 20:29:15
Kay
Hallo fkw48,
vielen Dank für die schnelle Lösung. Das ist genau das, was ich gesucht habe.
Wenn ich jetzt noch in die UserForm den Zeilenbereich eingeben könnte, wäre es perfekt.
Also z.B. werte in die zeilen 125-135 schreiben. beim nächsten mal z.B. 136-146 usw. das würde mir jetzt noch sehr helfen.
vielen Dank
Anzeige
AW: wert aus bestimmten bereich kopieren und einfügen
05.10.2017 11:17:51
fkw48
https://www.herber.de/bbs/user/116760.xlsm
Moin,
nochmals und leise weinend zum Mitschreiben
- sitzt die aktuelle Zelle auf dem Begriff in Spalte A, dann nimmt das Makro Fahrt auf
- eine Sicherung gegen unerlaubte Verwendung einer "Zwischenzelle" ist mir zu langweilig
- wenn, dann - wird der Begriff in der Userform kundgetan und das Frame zur Eingabe gezeigt
Des Menschen Wille ist sein Himmelreich, im Anhang kann zusätzlich der zu ersetzende
Zeilenabstand (von / bis Zeile) nachjustiert werden.
PS: ich schäme mich für den Code Zumzum, habe aber bewusst langweilig getextet, damit
er leichter nachzulesen
Anzeige
AW: wert aus bestimmten bereich kopieren und einfügen
06.10.2017 18:20:49
Kay
Hallo fkw48,
vielen Dank. Das geht schon in die richtige Richtung bzw. ist eigentlich genau das was ich benötige.
Allerdings, wenn ich jetzt nicht in Zeile 1 sondern z.B. in Zeile 15 - 21 etwas schreiben möchte, macht das Macro nicht das was es soll. Es wird nur eine leere Zeile gefüllt. Er soll aber wirklich den Bereich nehmen, den ich auswähle, unabhängig davon, ob die zuvor stehenden Zeilen gefüllt sind oder nicht.
Desweiteren würde mich noch interessieren, was ich ändern muss, wenn ich z.B. nicht die Spalte A und B sondern D und E füllen möchte.
Auch wenn es für dich wahrscheinlich kein Problem darstellt, für mich ist es noch nicht so leicht zu verstehen :-) deshalb bin ich dir für deine Hilfe sehr dankbar!!!
Wäre super, wenn du es dir nochmal anschauen könntest und mir die Fragen bzw. das Macro nochmal zur Verfügung stellen würdest.
Viele Grüße
Anzeige
AW: wert aus bestimmten bereich kopieren und einfügen
07.10.2017 19:12:09
fkw48
einfach aus dem Code zu CommandButton1_Click() die If - Bedingung weg
(damit wird der Löschen-Button Makulatur)
If .Value = "" Then .Value = UserForm1.TextBox1.Text
If .Offset(, 1).Value = "" Then .Offset(, 1).Value = UserForm1.TextBox2.Text
mit dem .offset(,[Spaltennummer]) steuerst du die Ausgabe rechts von
.Offset(, 2).Value = UserForm1.TextBox1.Text
.Offset(, 3).Value = UserForm1.TextBox2.Text
AW: wert aus bestimmten bereich kopieren und einfügen
07.10.2017 20:11:02
Kay
Hallo fkw48,
also das mit den Spalten habe ich verstanden und es funktioniert auch schon mal, wie ich es gerne hätte.
Leider bekomme ich es nicht mit hin, das wirklich die Zeilen beschrieben werden, die ich in den Comboboxen auswähle. Ich verstehe leider auch nicht, welchen If Befehl ich raus lassen soll. Hab jetzt alles mal versucht, aber ich bekomme immer eine Fehlermeldung.
Ich habe den Code jetzt mal so angepasst, rein zum testen, allerdings wird immer nur ein Zeile beschrieben und nicht alle leeren Zeilen im z.B. Bereich 15-25.
Könntest du mir vielleicht nochmal hierbei verständlicher helfen?
Option Explicit
Dim rngA As Range
Private Sub CommandButton1_Click()
Dim rngC As Range, fA As String
Application.ScreenUpdating = False
With Columns("D")
Set rngC = .Find(rngA.Value, LookIn:=xlValues)
If Not rngC Is Nothing Then
fA = rngC.Address
Do
With rngC.Offset(1)
If rngC.Row >= UserForm1.ComboBox1.Value Then
If rngC.Row  fA
End If
End With
Unload UserForm1
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
Private Sub CommandButton3_Click()
Dim rngC As Range, fA As String
Application.ScreenUpdating = False
With Columns("D")
Set rngC = .Find(rngA.Value, LookIn:=xlValues)
If Not rngC Is Nothing Then
fA = rngC.Address
Do
With rngC.Offset(1)
If .Value  "" Then .Value = ""
If .Offset(, 1).Value  "" Then .Offset(, 1).Value = ""
End With
Set rngC = .FindNext(rngC)
Loop While Not rngC Is Nothing And rngC.Address  fA
End If
End With
Unload UserForm1
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
Dim cnt As Long
IsIt
If UserForm1.Frame1.Visible = True Then
FillCombos
UserForm1.ComboBox1.Value = rngA.Row
With UserForm1.ComboBox2
cnt = .ListCount
If rngA.Row > 1 Then
.Value = UserForm1.ComboBox2.List(cnt - 1)
Else
.Value = UserForm1.ComboBox2.List(cnt - 2)
End If
End With
End If
End Sub
Private Sub FillCombos()
Dim rngC As Range, fA As String
Application.ScreenUpdating = False
With Columns("D")
Set rngC = .Find(rngA.Value, LookIn:=xlValues)
If Not rngC Is Nothing Then
fA = rngC.Address
Do
UserForm1.ComboBox1.AddItem rngC.Row
UserForm1.ComboBox2.AddItem rngC.Row
Set rngC = .FindNext(rngC)
Loop While Not rngC Is Nothing And rngC.Address  fA
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub IsIt()
UserForm1.Frame1.Visible = False
Set rngA = ActiveCell
Set rngA = Intersect(rngA, Columns("D"))
If Not rngA Is Nothing Then
If ActiveCell.Value  "" Then
UserForm1.Label1.Caption = "Artikel in Spalte A = " & rngA.Value
UserForm1.Frame1.Visible = True
Else
UserForm1.Label1.Caption = "kein Artikel in Spalte A selektiert!"
End If
End If
End Sub

Anzeige
AW: mog nimma
08.10.2017 13:12:24
Kay
Hallo fwk48,
vielen Lieben Dank für deine Hilfe.
Jetzt habe ich es verstanden und es funktioniert so wie ich es benötige.
Danke für deine Geduld
Viele Grüße

351 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige