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

Im Makro Einfügeziel manuell festlegen

Im Makro Einfügeziel manuell festlegen
KlausF
Hallo Excelgemeinde!
Wir haben ein umfangreiches Makro, mit dem aus mehreren Dateien Daten in eine Übersichtstabelle kopiert werden.
Bisher wurde die erste Zielzelle (Adresse), bei der das Einfügen der Daten beginnt, im Makro ermittelt.
Jetzt wird das ganze komplizierter und uns fällt als schnelle Lösung nur ein, diese Zielzelle manuell zu definieren - durch Klicken auf eine Zelle.
Frage:
Was müssen wir in unseren Code einfügen, damit:
1. Das Makro den User auffordert, die Zielzelle anzuklicken
2. Am besten noch mal eine Abfrage kommt, "Soll mit dieser Zelle fortgesetzt werden?"
3. Wenn ja, dann geht das Makro mit dem bisherigen Code weiter,
wenn nein, wird der User wieder aufgefordert (Rücksprung zu Pkt.1)
Dabei muß sicher die Zelladresse in eine Variable übergeben werden.
Kann uns jemand auf die Sprünge helfen, beim Durchforsten des Archivs und der FAQ haben wir nix zutreffendes gefunden.
Gruß!
Klaus
Application.InputBox mit Type:=8
03.05.2011 08:57:54
Erich
Hi Klaus,
zu 1. schau dir mal
Set myCell = Application.InputBox(prompt:="Select a cell", Type:=8)
(Beispsiel aus der VBA-Hilfe) an.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Application.InputBox mit Type:=8
03.05.2011 09:12:30
Hajo_Zi
Halo Klaus,
Ich kann Erich da nur zustimmen.
Option Explicit
Sub Klaus2()
Dim RaZelle As Range
Set RaZelle = Application.InputBox("Zelle auswählen", "Zellauswahl", , Type:=8)
RaZelle = "Test"
End Sub


AW: Application.InputBox mit Type:=8
03.05.2011 09:55:25
KlausF
Danke Euch beiden!
Eingebaut und funzt! (Bei den Profis kein Wunder ;-)))
Nur die Vergewisserungsfrage ist damit nicht gelöst. Irgeneiner der DAUs wird in der Rage eine Zelle daneben klicken und dann nimmt das Unhei seinen Lauf.
Ja ich weiß, das kann auch nach der Vergewisserung passieren, aber hoffentlich mit wesentlich geringerer Wahrscheinlichkeit.
Könnt Ihr mir dazu noch eine Hilfe geben?
Gruß!
Klaus
Anzeige
AW: Application.InputBox mit Type:=8
03.05.2011 10:02:42
KlausF
'tschuldigung: eine Sache hatte ich eben noch vergessen:
wenn man in der Inputbox auf Abbrechen klickt, kommt eine Fehlermeldung mit Verweis auf Debugger.
Wie fange ich das ab?
Danke+Gruß!
Klaus
AW: Application.InputBox mit Type:=8
03.05.2011 10:34:32
Hajo_Zi
Hallo KLaus,
Du hast nicht geschrieben wie eine richtige Zelle geprüft wird. Bestimmter Bereich?
Option Explicit
Sub Klaus2()
Dim RaZelle As Range
On Error Resume Next
Set RaZelle = Application.InputBox("Zelle auswählen", "Zellauswahl", , Type:=8)
If Err.Number = 91 Then
RaZelle = "Test"
End If
Err.Clear
On Error GoTo 0
End Sub

Gruß Hajo
Anzeige
AW: Application.InputBox mit Type:=8
03.05.2011 11:07:18
KlausF
Hallo Hajo,
Danke erst mal für Deine Mühe!
zu1.:
Die "richtige" Zelle wird nicht geprüft. Sie hängt von mehreren Parametern ab (Datum, alte Vorschau, neue Vorschau, welcher Empfänger wird heute be"bedient", u.a.); so daß wir das manuell festlegen.
Ich wollte nach dem Bestimmen der Zielzelle nur noch mal eine Vergewisserungsfrage mit erneutem OK, oder ggfls. einer erneuten Zielzelle-Festlegung, bevor das Makro dann weiterläuft.
zu2.:
mit Deinem letzten Code passiert nix, d.h. es wird in die ausgewählte Zelle nicht "Test" geschrieben
steht RaZelle = "test" in falscher Zeile?
Was bedeutet ErrorNumber 91?
Danke+Gruß!
Klaus
Anzeige
AW: Application.InputBox mit Type:=8
03.05.2011 11:18:06
Hajo_Zi
Hallo Klaus,
bei mir wurde immer Fehler 91 ausgelöst bei Auswahl, aus welchenm Grunde auch immer. Ich habe es jetzt geändert.
Option Explicit
Sub Klaus2()
Dim RaZelle As Range
On Error Resume Next
Do
Set RaZelle = Application.InputBox("Zelle auswählen", "Zellauswahl", , Type:=8)
If Err.Number = 91 Or Err.Number = 0 Then
If MsgBox("Ist das der richtige Bereich? " & RaZelle.Address, vbYesNo + vbQuestion,  _
"Bereichsabfrage ?") = vbYes Then
RaZelle = "Test"
Exit Do
End If
Else
Exit Do
End If
Err.Clear
Loop
On Error GoTo 0
End Sub
Gruß Hajo
Anzeige
AW: Application.InputBox mit Type:=8
03.05.2011 11:29:32
KlausF
Danke an alle Beteiligten!
Die heutige Sieger ist: ....... Hajo!!!! ;-)))
Sein letzter Code funzt genau so, wie wir es wollten!
Nochmals Danke und einen schönen Tag noch!
Klaus
AW: Application.InputBox mit Type:=8
03.05.2011 11:50:40
Hajo_Zi
Hallo Klaus,
das hätte ich nicht so ganz gesehen. Der Vorschlag von Nepumuk ohne on Error finde ich selber die bessere Lösung. Ich wollte mich da jetzt aber nicht einarbeiten.
Gruß Hajo
AW: Application.InputBox mit Type:=8
03.05.2011 12:07:39
KlausF
Hallo Hajo!
"Der Vorschlag von Nepumuk ohne on Error finde ich selber die bessere Lösung. Ich wollte mich da jetzt aber nicht einarbeiten."
Was soll ich denn da sagen mit meinem VBA-Level?
Dein Code erfüllt erst mal die Anforderungen - Schönheit können wir später (wenn ich mehr Ahnung von VBA haben sollte) ja immer noch einarbeiten.
Also vielen Dank und schönen Tag noch!
Klaus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige