Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Suchen und Kopieren mit Schleife

Betrifft: Suchen und Kopieren mit Schleife von: Rosenwasser
Geschrieben am: 18.07.2008 20:51:39

Hallo, folgendes Problem:

Wie kann ich den wert in Zelle D3 von Tabelle "K1" suchen in spalte D von Tabelle "Basic data"
und danach die A und B Zelle kopieren nach spalte A von Tabelle "R1"

Siehe Beispiel:

https://www.herber.de/bbs/user/53958.xls

Vielen Dank

  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Uduuh
Geschrieben am: 18.07.2008 21:48:45

Hallo,
wieso Schleife?
Eine einfache Index/Vergleich-Formel reicht doch.

Gruß aus’m Pott
Udo



  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Gerd L
Geschrieben am: 18.07.2008 21:58:18

Hallo,

so?

R1

 A
1 
2 
3CWP Procces - Ingenieur
4 
5130

Formeln der Tabelle
ZelleFormel
A3=INDIREKT("'Basic Data'!A"&VERGLEICH('K1'!D3;'Basic Data'!D3:D14;0)+3)
A5=INDIREKT("'Basic Data'!B"&VERGLEICH('K1'!D3;'Basic Data'!D3:D14;0)+3)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Gerd


  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Rosenwasser
Geschrieben am: 18.07.2008 23:43:09

Hallo,

Danke für dein Antwort, so wäre es natürlich machbar.
Aber die Zellen A3 und A5 werden ab und zu auch mit hand überschrieben wodurch die Formel dann weg sind.
Wäre es auch möglich über VBA?
Ich will es gerne über einen Makro laufen lassen.

Gruess,




  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Gerd L
Geschrieben am: 19.07.2008 10:53:53

Hallo Rosenwasser!

'Modul Tabellenblatt K1

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x

If Target.Address <> "$D$3" Then Exit Sub

With Worksheets("Basic Data")
	x = Application.Match(Target.Value, .Range(.Cells(3, 4), .Cells(3, 4).End(xlDown)))
	If IsNumeric(x) Then
		Worksheets("R1").Cells(3, 1).Value = .Cells(x + 2, 1).Value
		Worksheets("R1").Cells(5, 1).Value = .Cells(x + 2, 2).Value
	End If
End With

End Sub



Gruß Gerd


  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Rosenwasser
Geschrieben am: 19.07.2008 11:48:09

Hi Gerd,

Danke !! Es funktioniert.

Noch eine letzte frage:

Wie seht den Code aus wenn ich den suchen/vergleichen und kopieren über einen Knopf laufen lassen will?

Knopf drucken, schauen was in Zelle D3 von 'K1' steht, vergleichen in spalte D von 'Basic Data' und die bestimmte Zellen kopieren nach Blatt 'R1'

Vielen Dank


  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Gerd L
Geschrieben am: 19.07.2008 12:33:55

Hi!

kannst Du bitte noch mitteilen, an welche Sorte "Knopf" Du denkst
(aus Formular, aus Steuerelemente-Toolbox) u. in welchem Sheet dieser platziert werden soll.

Gruß Gerd


  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Rosenwasser
Geschrieben am: 19.07.2008 12:38:14

Oh, vergessen,

Diesen Knopf 'CommandButton1' steht in einen Formular mit den Name 'UserForm1'

Gruß , Benny


  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Gerd L
Geschrieben am: 19.07.2008 13:03:57

Hi Benny,

probier mal.

'Modul der UserForm1




Private Sub CommandButton1_Click()

Dim x
   
With ThisWorkbook.Worksheets("Basic Data")
    x = Application.Match(ThisWorkbook.Worksheets("K1").Cells(3, 4).Value, .Range(.Cells(3, 4),  _
 _
 _
.Cells(3, 4).End(xlDown)))
    If IsNumeric(x) Then
        ThisWorkbook.Worksheets("R1").Cells(3, 1).Value = .Cells(x + 2, 1).Value
        ThisWorkbook.Worksheets("R1").Cells(5, 1).Value = .Cells(x + 2, 2).Value
    End If
End With
   
End Sub



Gruß Gerd


  

Betrifft: AW: Suchen und Kopieren mit Schleife von: Rosenwasser
Geschrieben am: 19.07.2008 14:10:33

Hi Gerd,

Es hat wunderbar geklappt mit deine Code !!!

Euh, vielleicht noch ein Kleinigkeit für dich...

...

In die beigefügte Datei seht man 4 Bereichen. (bereik1, bereik2, bereik3 und bereik4)
Wenn in Zeilen von 3 bis 20 in Spalte C nichts steht, soll diese Zeile komplett gelöscht werden.

Ich habe versucht mit unterstehende Code, nur ersten Bereich funktioniert es, die andere nicht...

Private Sub Loeschen()
Dim i As Long

With Range("bereik1")

For i = 20 To 2 Step -1
      If Cells(i, 3) = 0 Then Rows(i).Delete
   Next i
End With

With Range("bereik2")
For i = 20 To 2 Step -1
      If Cells(i, 3) = 0 Then Rows(i).Delete
   Next i
End With

With Range("bereik4")
For i = 20 To 2 Step -1
      If Cells(i, 3) = 0 Then Rows(i).Delete
   Next i
End With

With Range("bereik4")
For i = 20 To 2 Step -1
      If Cells(i, 3) = 0 Then Rows(i).Delete
   Next i
End With


End Sub



Beispiel: ... https://www.herber.de/bbs/user/53972.xls


 

Beiträge aus den Excel-Beispielen zum Thema "Suchen und Kopieren mit Schleife"