Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm / Range selektieren

UserForm / Range selektieren
18.01.2004 10:27:50
Erich M.
Hallo zusammen,
ich habe eine UserForm mit der ich einen bestimmten Bereich
mit der F2-Taste bearbeiten möchte. Nun scheitere ich daran,
dass die betreffende Range nicht selektiert wird, damit
der Befehl läuft:


' **************************************************************
'  Modul:  Forum  Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Private Sub CommandButton2_Click()
Dim myName As String
Dim myRange As Object 'Range
Dim zelle2 As Object
Dim Tb(1 To 15) As Worksheet
If ComboBox1.Text = "" Then MsgBox "Bitte Datei 1 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox9.Text <> "" Then Set Tb(1) = Workbooks(ComboBox1.Text).Worksheets(ComboBox9.Text) Else MsgBox "Bitte Tabellenblatt 1 auswählen.", 48, "Hinweis": Exit Sub
myName = ComboBox9.Text
myRange = RefEdit1
Worksheets(myName).Activate
Range(myRange).Select
'For Each zelle2 In Selection
'SendKeys "{F2}", True
'SendKeys "{ENTER}", True
'Next zelle2
'Range("A1").Select
Unload Me
End Sub


Code eingefügt mit: Excel Code Jeanie
Ich habe mit select, ohne select und sonstiges probiert -
es klappt einfach nicht. Irgendwie hängt es daran, dass die
im RefEdit1 Fenster ausgewählten Zellen nicht aktiviert werden.
Geht das vielleicht bei RefEdit nicht wie bei ComboBox ??
Besten Dank für eine Hilfe!
mfg
Erich

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm / Range selektieren
18.01.2004 10:51:22
andre
hallo erich,
lasse den code schrittweise laufen. überprüfe RefEdit1 und myrange. ich nehme an, das in RefEdit1 nichts steht - hast du die variable irgendwo gefüllt und vorher als public dimensioniert?
der nächste fehler kommt dann wahrscheinlich in der schleife.
gruss andre
AW: UserForm / Range selektieren
18.01.2004 11:10:02
Erich M.
Hallo andre,
danke für den Tipp!
Habe jetzt Dim myRange geändert auf As String (bisher Object, Range)!
Jetzt läuft es durch!
Es ist aber komisch insofern, dass es nach dem Beenden "nachläuft",
d.h. es dauert eine ganze Weile bis man weiterarbeiten kann,
obwohl das makro beendet ist.
Ich habe das Ganze auch über Input-Boxen gelöst, da funktioniert
es einwandfrei.
Die UserForm ist mir aber wichtiger, da ich schneller und
flexibler bin.
Ich habe die Musterdatei mal hochgeladen, vielleicht hat jemand
noch eine Idee. Bitte jeweils mit der Tabelle2, Spalte B probieren:
https://www.herber.de/bbs/user/3024.xls

Besten Dank!
mfg
Anzeige
AW: danke für die rückmeldung - o.t.
18.01.2004 11:16:06
andre
Jemand noch eine Idee - Restlösung / F2-Taste?
18.01.2004 12:08:33
Erich M.
Hallo zusammen,
leider ist das Problem noch nicht ganz gelöst.
Habe nochmals verschiedenes versucht, aber leider
läuft das Makro bei der UserForm weiter obwohl es eigentlich fetig ist.
Irgendwie muss das mit der F2-Taste zusammenhängen.
Ich komme nicht darauf, obwohl es bei der InputBox
wie beschrieben passt!!
Besten Dank!
mfg
Erich
AW: Jemand noch eine Idee - Restlösung / F2-Taste?
18.01.2004 12:27:03
Ramses
Hallo
due musst den Code anders aufbauen


Private Sub CommandButton2_Click() 
Dim myName As String 
Dim myRange As Range 
'---------------
Dim zelle2 As Range 
'---------------
Dim Tb(1 To 15) As Worksheet 
If ComboBox1.Text = "" Then MsgBox "Bitte Datei 1 auswählen.", 48, "Hinweis": Exit Sub 
If ComboBox9.Text <> "" Then 
        Set Tb(1) = Workbooks(ComboBox1.Text).Worksheets(ComboBox9.Text) 
Else 
        MsgBox "Bitte Tabellenblatt 1 auswählen.", 48, "Hinweis": Exit Sub 
End If
myName = ComboBox9.Text 
'------
Set myRange = Application.InputBox("Wählen Sie den Bereich", "Nachbearbeitung", Type:=8) 
'------
For Each zelle2 in Worksheets(myName).myRange 
     SendKeys "{F2}", True 
     SendKeys "{ENTER}", True 
Next zelle2 
Range("A1").Select 
Unload Me 
End Sub 

     Code eingefügt mit Syntaxhighlighter 2.5


Damit sollte es gehen
Gruss Rainer
Anzeige
Fast am Ziel !!
18.01.2004 13:11:56
Erich M.
Hallo Rainer,
besten Dank. Leider erhalte ich folgende Fehlermeldung:
Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
bei:
For Each zelle2 In Worksheets(myName).myRange
Meine Änderungsversuche sind leider ohne Ergebnis.
Dann noch eine Frage:
Die Idee mit der Kombi-Lösung UF / Input ist natürlich klasse.
Wo liegt denn der Unterschied zwischen der Eingabe der
Range über die Input ggü. der Eingabe über die UF??
In beiden Fällen wird doch zuerst die Range "selectiert"
und dann die F2-Taste ausgelöst.
Während es bei der Input kein "Nachlaufen" gibt,
macht das makro bei der UF irgendwie weiter??

mfg
Erich
Anzeige
Du bist am Ziel....:-)
18.01.2004 13:34:00
Ramses
Hallo
Mit der Application.Inputbox wird automatisch der Tabellenname mitübergeben. Du hast also den Namen mit "myName" und auch in "myRange". Daher geht es nicht.
Es genügt also die Anweisung


Private Sub CommandButton2_Click()  
Dim myRange As Range 
'---------------
Dim zelle2 As Range 
'---------------
Set myRange = Application.InputBox("Wählen Sie den Bereich", "Nachbearbeitung", Type:=8) 
'------
For Each zelle2 in myRange 
      SendKeys "{F2}", True 
      SendKeys "{ENTER}", True 
Next zelle2 
Range("A1").Select 
Unload Me 
End Sub 

     Code eingefügt mit Syntaxhighlighter 2.5



Mit der Application.Inputbox(... Type:=8)
ist sichergestellt dass ein zellbereich ausgewählt wird.
Ist einfach ein wenig eleganter :-))
Gruss Rainer
Anzeige
Perfekt wie immer!! Vielen Dank Rainer o.T.
18.01.2004 13:53:26
Erich M.
.
Merci :-)) Geschlossen o.T.
18.01.2004 13:54:29
Ramses
...
AW: UserForm / Range selektieren
18.01.2004 11:03:40
Jens
Hi
Dim myRange As Object 'Range <--- Fehler
myRange = RefEdit1 <-- liefert einen String
Range(myRange).Select
Dim MyRange as String
Gruß Jens
AW: UserForm / Range selektieren
18.01.2004 11:11:28
Erich M.
Hallo Jens,
danke, habs eben auch bemerkt - siehe meine Antwort an Andre,
die ich fast zeitgleich bearbeitet habe!
mfg
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige