Spalte markieren (Zelle) VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox TextBox InputBox MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Spalte markieren (Zelle) VBA
von: Dirk
Geschrieben am: 22.05.2002 - 10:03:44

Hallo,
Kurze Problemschilderung:
In dem Makro wird eine bestimmte (über inputbox eingegebene Zelle) gesucht.
ich möchte den Inhalt löschen, aber nicht nur den Inhalt der Zelle, sondern eines bestimmten Bereiches in der Spalte (range(X1:X70 um genau zu sein).
weiss jemand wie das möglich ist?
Danke
nach oben   nach unten

Re: Spalte markieren (Zelle) VBA
von: Martin Beck
Geschrieben am: 22.05.2002 - 10:15:56

Hallo Dirk,

wie wird welche Information zu der Ausgangszelle über Inpubtbox eingegeben? Poste mal den Code.

Grundsätzlich geht es so:

Set cell = Range("F3")
Range(Cells(1, cell.Column), Cells(70, cell.Column)).ClearContents

Statt cell.Column mußt Du die Spaltennummer der Ausgangszelle angeben. Wie man das zweckmäßigerweise macht, hängt von der Beantwortung der Eingangsfrage ab.

Gruß
Martin Beck

P.S. Noch was: Spielt sich alles innerhalb eines(!) Tabellenblattes ab?

nach oben   nach unten

Re: Spalte markieren (Zelle) VBA
von: Dirk
Geschrieben am: 22.05.2002 - 10:38:37

Hi, bin mittlerweile auf eine Userform umgestiegen, ist überschaubarer.
ich weiss nicht ob der Code was nützt, es ist nur ein kleiner Auszug. Hoffe es ist alles dabei,
Habe die Stelle gekennzeichnet wo ich hänge...

USERFORM mit Textbox und Listbox und 2 Buttons (OK, Abbruch)

Private Sub Cmd1_Click()
vAuswahl = "": Me.Hide
frmDialog.Txtbox1.Text = ""
End Sub


Private Sub ListBox1_Click()
Txtbox1.Text = ListBox1.List(ListBox1.ListIndex)
End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call Cmd1_Click
End Sub

Private Sub UserForm_Activate()
Dim Zelle As Object
'Listbox füllen
ListBox1.Clear
vAuswahl = ""
For Each Zelle In Sheets("NEU").Range("B1:IV1")
If Len(Zelle.value) = 0 Then Exit For
ListBox1.AddItem Zelle.value
Next Zelle
End Sub

Private Sub UserForm_Deactivate()
vModus = ""
End Sub

Sub TypLöschen()
'Ausgewählte Zelle löschen
Dim Y
'Bestätigung
Y = MsgBox("Möchten Sie wirklich eine Zelle entfernen", vbYesNo, "Zelle löschen")
If Y = vbNo Then: Exit Sub
If Y = vbYes Then
'Dialog öffnen
With frmDialog
.Modus = "löschen"
.Show
End With
If frmDialog.Auswahl <> 0 Then
Call TabSchutz(False)
Sheets("NEU").Select
' genau an dieser Stelle hänge ich fest
hier müsste die Spalte der gefundenen Zelle markiert werden (1:70) und dann gelöscht werden
frmdialog.auswahl ist als string deklariert (Zellinhalt wird übergeben aber nicht die Adresse der Spalte)

'Range().ClearContents
Exit Sub

Call TabSchutz(True)
Sheets("ALT").Select
Else: Exit Sub
End If
End If
End Sub

Danke für die schnelle Antwort, werde den vorschlag mal versuchen einzubinden..

nach oben   nach unten

Re: Spalte markieren (Zelle) VBA
von: Martin Beck
Geschrieben am: 22.05.2002 - 10:50:49

Hallo Stephan,

das Ganze ist für mich jetzt schwer nachvollziehbar, erscheint mir aber irgendwie "ungeordnet". Wieso übergibst Du an die Listbox die Werte und nicht die später benötigte Spaltennummer? Also statt

ListBox1.AddItem Zelle.value

ListBox1.AddItem Zelle.Column


Irgenwoher muß halt die Spaltennummer kommen, sonst wird's nix ;-)

Gruß
Martin Beck


nach oben   nach unten

ups, sorry für die Namensverwechslung (oT)
von: Martin Beck
Geschrieben am: 22.05.2002 - 10:52:05


nach oben   nach unten

Re: ups, sorry für die Namensverwechslung (oT)
von: Dirk
Geschrieben am: 22.05.2002 - 10:55:45

hi martin
wie gesagt es ist nur ein Auszug aber ich habe deinen Tip gerade erfolgreich verwendet.
Vielen Vielen Dank

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Spalte markieren (Zelle) VBA"