Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren von bestimmten Bereichen in neue Tabelle
23.05.2019 08:21:22 Daemon
Solved

Ansicht des Beitrags:
Von:
Daemon
Datum:
23.05.2019 08:21:22
Views:
744
Rating: Antwort:
 Nein
Thema:
Kopieren von bestimmten Bereichen in neue Tabelle
Hallo, ich hätte mal eine Frage und zwar... Ich habe eine Excel Datei. Darin gibt es zwei Tabellenblätter. Tabelle1 und Tabelle2. In Tabelle 1 steht ungefähr folgendes: A B C D Anzahl_1 Preis A-Nummer A-Bezeichnung 1 200 100,00 1234 ABC 2 100 90,00 23532536 ABC 3 150 150,00 1234 ABC 4 100 50,00 23532536 CVB 5 90 50,00 5678 CVB Und ich möchte eben das die Spalte C durchsucht wird auf die Nummer 23532536 (bestenfalls soll man sie noch durch eine Input-Box vorher abfragen können (also welche Nummer gesucht ist). Wenn er die Nummer (für die er jede Zeile in Spalte C absucht) gefunden hat, soll er diese Zelle und die Zelle links daneben (also die aus Spalte B) kopieren und in Tabelle2 einfügen. Er zeigt mir manchmal bei "UsedRange" an, dass er die Methode bzw. das Objekt nicht findet. Mir also bitte jemand den Code anpassen? Danke! Weitere Beispiele hier wären also C1 und B1 (da C1 auch den Wert 23532536 hat). Natürlich habe ich eine viel größere und längere Tabelle. Aber im Prinzip schaue ich mir aber jede Zeile in Spalte B an und prüfe sie ob sie den Wert 23532536 enthalten und wenn ja, dann soll er die Zelle in der es steht und die Zelle links daneben in ein anderes Worksheet (Tabelle2) kopieren. Brauche dringend Hilfe und es wäre gut, wenn die Variablen einfach gehalten und die Erklärungen ebenfalls einfach sind. Bin Anfänger. Würde mich über den entsprechenden Code freuen. Danke. Mir wurde auch bereits ein Code zugesendet, aber der müsste angepasst werden. Danke. Hier der Code: Option Explicit Public Sub test() Const MY_NUMBER As Long = 23532536 Dim avntSource() As Variant, avntTarget() As Variant Dim ialngCount As Long, ialngRow As Long avntSource() = Tabelle1.UsedRange.Value For ialngRow = 1 To UBound(avntSource) If avntSource(ialngRow, 2) = MY_NUMBER Then ReDim Preserve avntTarget(1, ialngCount) As Variant avntTarget(0, ialngCount) = avntSource(ialngRow, 1) avntTarget(1, ialngCount) = avntSource(ialngRow, 2) ialngCount = ialngCount + 1 End If Next If ialngCount = 0 Then Call MsgBox(Prompt:="Die Zahl wurde nicht gefunden..!", _ Buttons:=vbExclamation, Title:="Datensuche") Else With Tabelle2 Call .UsedRange.ClearContents .Range(.Cells(1, 1), .Cells(UBound(avntTarget, 2) + 1, 2)).Value = _ WorksheetFunction.Transpose(avntTarget()) End With End If End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren von bestimmten Bereichen in neue Tabelle
23.05.2019 08:21:22 Daemon
Solved