Range variabel

Status
Niet open voor verdere reacties.

Changeless

Gebruiker
Lid geworden
24 jun 2009
Berichten
6
Hoi ik wil vanuit een commandbutton gegevens verwijderen uit een cel die ik de naam "speler1" heb gegeven. die commandbutton staat op blad "speler1" tot en met blad "speler 50".

maar als ik gegevens van speler 16 bijvoorbeeld wil verwijderen , dan verwijderd ie de gegevens van speler1. Omdat ik de code niet ken.

Doel is dus dat als ik blad speler 16 open heb, de naam van dit blad in geheugen zit en dan diezelfde naam opzoekt in blad1 en dan de Value van die cel verwijderd.

Sheets("LedenOverzicht").Select
Range("speler1").Select
Selection.ClearContents

Die Range is dus verkeerd en zou willen ( omdat ik op Blad!Speler16 zit ) hij dan ook de code geeft;

Sheets("LedenOverzicht").Select
Range("speler16").Select
Selection.ClearContents

Waarschijnlijk kan het helemaal niet met deze codes, ja kan wel maar dan moet hiervoor alleen al 50 commandbuttons maken.

Is er een code die mij helpt variabelen te gebruiken op 1 commandbutton?


BVD


Erwin
 
Changeless,

Lukt het ook niet met de macrorecorder?
Een macro opnemen, die doet alle handelingen (Code) opschrijven, daarna de code vereenvoudigen.

Suc6
 
Ahum nee

Nee dat heb ik juist gedaan met recorder. Maar als ik macro uitvoer dan pakt ie natuurlijk dezelfde cel.

Is er niet een mogelijkheid tot IF,THEN,ELSE of misschien iets met CASE?

Ik begin hier net mee dus moet ff een start hebben.

Erwin
Changeless,

Lukt het ook niet met de macrorecorder?
Een macro opnemen, die doet alle handelingen (Code) opschrijven, daarna de code vereenvoudigen.

Suc6
 
Changeless,

De onderstaande code krijg je in invoerbox om de range in te stellen.
Misschien lukt het daar mee?

Code:
Sub Verwijder()
Sheets("LedenOverzicht").Select
 MyValue = InputBox(Message, "Welk berijk?")
  range(MyValue).ClearContents
End sub
 
Ja die moet zeker werken. Alleen een andere gebruiker weet nooit welke Name ik ingevoerd heb.

Kan het niet ongeveer zo?

Code:
Sub Verwijder()
Sheets("LedenOverzicht").Select
 MyValue = Active.Worksheet.Value?(met als waarde de naam van tabblad?)
  range(MyValue).ClearContents
End sub
[/
Changeless,

De onderstaande code krijg je in invoerbox om de range in te stellen.
Misschien lukt het daar mee?

Code:
Sub Verwijder()
Sheets("LedenOverzicht").Select
 MyValue = InputBox(Message, "Welk berijk?")
  range(MyValue).ClearContents
End sub
 
Changeless,

Nu kun je het bladnaam invoeren en zal dan worden verwijderd.

Code:
Sub Verwijder()
Sheets("Blad1").Select
 MyValue = InputBox(Message, "Welk blad?")
  Sheets(MyValue).Delete
End Sub
 
Ik wil het eigenlijk zonder msgbox doen. moet compleet automatisch gaan.

Kan ik niet proberen een verborgen cel te maken met de tekst erin die hij nodig heeft om te kopieren?

Bijvoorbeeld op Blad16 in cel T1 heeft de waarde speler16



Ja die moet zeker werken. Alleen een andere gebruiker weet nooit welke Name ik ingevoerd heb.

Kan het niet ongeveer zo?

CODE]Sub Verwijder()
Sheets("LedenOverzicht").Select
MyValue = Active.Worksheet.Range = "T20"
range(MyValue).ClearContents
End sub[/CODE]
 
Changeless,

Ik wil het eigenlijk zonder msgbox doen. moet compleet automatisch gaan.

De volgende keer moet je de code selecteren en dan boven op het # klikken.
Als je deze code laat lopen komt de melding "Object vereist"
Hij stop dan bij regel "MyValue = .."

Sorry, ik kan je hier niet verder mee helpen, zou niet weten hoe dit automatisch te doen.
Ik denk ook niet dat het telkens Range("T20") zal zijn.

Misschien weet iemand wel hoe dit te doen, suc6

Code:
Sub Verwijder()
  Sheets("LedenOverzicht").Select
    MyValue = Active.Worksheet.Range = "T20"
  range(MyValue).ClearContents
End sub
 
ik ga nog wel ff stoeien ermee. indien er een oplossing is zal ik je deze zeker melden.
dan weet je het ook meteen.

bedankt voor al je moeite.

Erwin

Changeless,



De volgende keer moet je de code selecteren en dan boven op het # klikken.
Als je deze code laat lopen komt de melding "Object vereist"
Hij stop dan bij regel "MyValue = .."

Sorry, ik kan je hier niet verder mee helpen, zou niet weten hoe dit automatisch te doen.
Ik denk ook niet dat het telkens Range("T20") zal zijn.

Misschien weet iemand wel hoe dit te doen, suc6

Code:
Sub Verwijder()
  Sheets("LedenOverzicht").Select
    MyValue = Active.Worksheet.Range = "T20"
  range(MyValue).ClearContents
End sub
 
Changeless,

Deze code werkt wel maar volgens mij moet je toch op een knopje klikken om dit te doen.

Code:
Sub Verwijder()  
  Sheets("LedenOverzicht").Range("T20").ClearContents
End Sub

Suc6
 
Er word wel op een een knop gedrukt ( in dit geval commandbutton 4)
Met de recorder kreeg ik ook deze code. Dit werkt prima bij een vaste cel.
( in dit geval heet die cel "speler1") maar ik heb 50 spelers.

Stel ik wil speler16 zijn data verwijderen dan doet ie met deze onderstaande code nog steeds data verwijderen van speler1.

Als ik dus elke speler een eigen commandbutton geef doet ie het wel ja.

Maar het moet mogelijk zijn toch dat ie zelf de speler kan herkennen? elke speler heeft eigen tabblad en dus moet dit toch kunnen?

Begrijp je nu een beetje waar ik heen wil?


Erwin
Changeless,

Deze code werkt wel maar volgens mij moet je toch op een knopje klikken om dit te doen.

Code:
Sub Verwijder()  
  Sheets("LedenOverzicht").Range("T20").ClearContents
End Sub

Suc6
 
Changeless,

Ik heb vandaag niet zoveel tijd om dit te doen.
Kun je niet met de andere code van mij conbineren?
Je zal alleen wel de InputBox moeten gebruiken om aan te geven wie er verwijderd moet worden.( hij moet immers instructie krijgen wie te verwijderen )
Dus een variable.Range

Doe anders een voorbeeld bestandje ( zegt meer dan worden ) met daarin aan gegeven wat de bedoeling is.
Vaak leverd het meer resultaat op.
 
Changeless,

Ik heb aan de zijde van Excel, zie link, gevonden dat met dubbelklik iets gecopyeerd word.
Misschien dat je die code kan ombouwen naar verwijderen?

Kijk hier even
 
Een beetje laat, maar misschien heb je er nog iets aan (als ik je vraag tenminste goed heb begrepen).

Als ik het goed begrijp heb je in je excelbestand tabbladen met de namen: "speler1", "speler2", "speler..".

Als je gegevens van speler 16 wilt wijzigen is het tabblad "speler16" dus geopend? Zo ja, dan kun je deze naam opnemen in een string:
Code:
Dim strTabblad As String
strTabblad = ActiveWorksheet.Name

Vervoglens kun je die string weer in je Range() gebruiken (de waarde van die string is bijv. speler16).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan