Microsoft Excel

Herbers Excel/VBA-Archiv

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

Im Arbeitsblatt suchen ohne zu öffnen

Betrifft: Im Arbeitsblatt suchen ohne zu öffnen von: Uli
Geschrieben am: 11.03.2016 17:41:17

Hallo zusammen!

Ich habe ein Problem mit meinem Suchen-Makro.

Das Teil funktioniert nur wenn die Seite WKN geöffnet und aktiv ist.

Das Makro aber soll funktionieren, während ich auf einem andern

Arbeitsblatt bin. Wie muss das Makro verändert werden?

Sub suchen()
Dim myC As Range
Application.ScreenUpdating = False
Workbooks("Überwachung-Erweiterung").Sheets("WKN") _
.Range("D9:D526").Select
For Each myC In Selection
If myC.Value = Range("D1").Value Then
myC.Select
ActiveCell.Offset(0, -1).Copy
End If
Next
Application.ScreenUpdating = True
End Sub

gruss Uli

  

Betrifft: AW: Warum ein neuer Beitrag, schau mal im alten ow von: Werner
Geschrieben am: 11.03.2016 17:46:07




  

Betrifft: AW: Warum ein neuer Beitrag, schau mal im alten ow von: Uli
Geschrieben am: 11.03.2016 19:58:36

Hallo Werner!

Erstmal, dein Makro funktioniert. Aber nur einmal.

In dem Makro fehlt noch was. Darüber habe ich noch garnicht gesprochen. Also konntest du es auch nicht wissen.

Das Makro wird immer wieder aufgerufen. und jedes mal springt der Cursor um 1 nach links. Aber nicht wieder zurück.

Der Cursor spring von Spalte D nach C und kopiert. Nach dem kopieren muss er aber wieder zurück in Spalte D ohne den Kopiervorgang zu unterbrechen.

Hier noch mal das Makro

Sub suchen()
 Dim Bereich As Range
 Dim myC As Range
 Application.ScreenUpdating = False
 Set Bereich = Workbooks("Überwachung-Erweiterung").Sheets("WKN").Range("D8:D526")
 For Each myC In Bereich
 If myC.Value = Range("D1").Value Then
 myC.Offset(0, -1).Copy

 'Hier muss der Cursor wieder zurück in Spalte D.

 End If
 Next
 Application.ScreenUpdating = True
 End Sub
gruss Uli


  

Betrifft: AW: Warum ein neuer Beitrag, schau mal im alten ow von: Werner
Geschrieben am: 12.03.2016 00:18:58

Hallo Uli,

also ehrlich gesagt verstehe ich nur Bahnhof. Warum das Makro nur einmal funktionieren soll erschließt sich mir nicht. Genau so wenig wie "hier muss der Cursor wieder in Spalte B".
Der Code macht im Moment folgendes:

Nimm den Wert aus Zelle D1
Schau im Blatt WKN - Zelle D8 ob der Wert gleich ist
Wenn ja kopier den Wert aus der Zelle links davon (C8) in die Kopierspeicher
Schau im Blatt WKN - Zelle D9 ob der Wert gleich ist
Wenn ja kopieren den Wert aus der Zelle links davon (C9) in die Kopierspeicher
## hier wird jetzt aber der Wert aus C8 im Kopierspeicher durch den Wert aus C9 überschrieben ##
Das ganze Spiel läuft ab bis zur Zelle D526 dann ist das Makro durch.
Im Extremfall wird bei jedem Schleifendurchlauf der vorherige Wert (C8) durch den nachfolgenden Wert (C9)
ersetzt, bis dann am Ende der Wert aus C256 im kopierspeicher ist.


Gruß Werner


  

Betrifft: AW: Warum ein neuer Beitrag, schau mal im alten ow von: Uli
Geschrieben am: 12.03.2016 11:21:57

Hallo Werner!

Vielen Dank für deine Gedult.

Genau so wie du es beschrieben hast, habe ich das auch gesehen. Es funktioniert nur nicht.

Steht das Makro alleine und ich starte mit F5 läuft das Teil wie ein Uhrwerk.

Im Zusammenhang mit meiner Steuertabelle aber nicht.

Ich arbeite mit zwei Mappen zeitgleich, die synchron scrollen. Wird der Scrollvorgang gestartet wird der Cursor in die erste Zeile SpalteC gesetzt. Nun springt der Cursor von Zeile zu Zeile. Trift der Cursor auf eine Zelle die rot oder grün gefärbt ist stoppt der Scrollvorgang die UserForm wird geöffnet, die jeweilige Aktie in "D1" eingetragen, das Such-Makro wird gestartet und die WKN in der Zwischenablage gespeichert.
Das heißt, pro Scrollvorgang wird das Suchen-Makro ca 200 mal aufgerufen. Hier stolperte das Makro irgendwie. Ich habe nun das Suchen-Makro auf ganz plumpe und einfache Art verändert. Und wie der Teufel will jetzt läuft es perfekt. Wie immer: Auf das einfachste kommt man zuletzt.
Die TextBox auf der UserForm benötige ich nun garnicht mehr. Sollte ich mich nun für eine Aktie entscheiden, klicke ich auf der UserForm auf das Button meiner Bank. Das Eingabefenster öffnet sich ich klicke auf einfügen und meine WKN ist drin. Im gleichen Moment öffnet sich auf der WEB-Seite meiner Bank die Aktie die der Scrollvorgang auf meiner Exceltabelle gefunden hat.

Das wars Werner. Und vielen vielen Dank das du mit dabei warst.


gruss Uli


 

Beiträge aus den Excel-Beispielen zum Thema "Im Arbeitsblatt suchen ohne zu öffnen"